# Copyright (C) 2017  Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.

# uncomment to choose an appropriate UID/GID; default is 'nobody'
# user bind bind;

worker_processes auto;
pid /var/run/nginx.pid;

events {
    worker_connections 1024;
    multi_accept on;
}

stream {
    upstream dns_tcp_servers {
	server 127.0.0.1:8853;
    }

    server {
	listen 853 ssl;
	proxy_pass dns_tcp_servers;

	# update to a suitable SSL certificate (e.g. from LetsEncrypt),
	# and uncomment the following lines:
	# ssl_certificate       /etc/nginx/lego/certificates/<cert>.crt;
	# ssl_certificate_key   /etc/nginx/lego/certificates/<cert>.key;

	ssl_protocols         TLSv1.2;
	ssl_ciphers           ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
	ssl_session_tickets   on;
	ssl_session_timeout   4h;
	ssl_handshake_timeout 30s;
    }
}
