Skip to content

Commit 0cc71fa

Browse files
kamermansteohhanhui
authored andcommitted
Add dynamically-computed DNS resolvers to nginx (for PR nginx-proxy#574)
1 parent 6bdd184 commit 0cc71fa

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

docker-entrypoint.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,12 @@ fi
1818
# Note: if $DHPARAM_BITS is not defined, generate-dhparam.sh will use 2048 as a default
1919
/app/generate-dhparam.sh $DHPARAM_BITS
2020

21+
# Compute the DNS resolvers for use in the templates
22+
export RESOLVERS=$(awk '$1 == "nameserver" {print $2}' ORS=' ' /etc/resolv.conf | sed 's/ *$//g')
23+
if [ "x$RESOLVERS" = "x" ]; then
24+
echo "Warning: unable to determine DNS resolvers for nginx" >&2
25+
fi
26+
2127
# If the user has run the default command and the socket doesn't exist, fail
2228
if [ "$socketMissing" = 1 -a "$1" = forego -a "$2" = start -a "$3" = '-r' ]; then
2329
exit 1

nginx.tmpl

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@ log_format vhost '$host $remote_addr - $remote_user [$time_local] '
5858

5959
access_log off;
6060

61+
{{ if ne $.Env.RESOLVERS "" }}
62+
resolver {{ $.Env.RESOLVERS }};
63+
{{ end }}
64+
6165
{{ if (exists "/etc/nginx/proxy.conf") }}
6266
include /etc/nginx/proxy.conf;
6367
{{ else }}
@@ -198,6 +202,12 @@ server {
198202
ssl_dhparam {{ printf "/etc/nginx/certs/%s.dhparam.pem" $cert }};
199203
{{ end }}
200204

205+
{{ if (exists (printf "/etc/nginx/certs/%s.chain.crt" $cert)) }}
206+
ssl_stapling on;
207+
ssl_stapling_verify on;
208+
ssl_trusted_certificate {{ printf "/etc/nginx/certs/%s.chain.crt" $cert }};
209+
{{ end }}
210+
201211
{{ if (ne $https_method "noredirect") }}
202212
add_header Strict-Transport-Security "max-age=31536000";
203213
{{ end }}

0 commit comments

Comments
 (0)