Skip to content

Commit

Permalink
do not ignore $http_host and $http_x_forwarded_host (#2030)
Browse files Browse the repository at this point in the history
  • Loading branch information
ElvinEfendi authored and aledbf committed Feb 6, 2018
1 parent 20675cc commit a30bf21
Showing 1 changed file with 14 additions and 3 deletions.
17 changes: 14 additions & 3 deletions rootfs/etc/nginx/template/nginx.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,17 @@ http {
}
{{ end }}

# Obtain best http host
map $http_host $this_host {
default $http_host;
'' $host;
}

map $http_x_forwarded_host $best_http_host {
default $http_x_forwarded_host;
'' $this_host;
}

{{ if $cfg.ComputeFullForwardedFor }}
# We can't use $proxy_add_x_forwarded_for because the realip module
# replaces the remote_addr too soon
Expand Down Expand Up @@ -714,7 +725,7 @@ stream {

return 497;
{{ else }}
return {{ $all.Cfg.HTTPRedirectCode }} https://$host$request_uri;
return {{ $all.Cfg.HTTPRedirectCode }} https://$best_http_host$request_uri;
{{ end }}
}
{{ end }}
Expand Down Expand Up @@ -784,7 +795,7 @@ stream {
{{ if not (empty $location.UpstreamVhost) }}
proxy_set_header Host "{{ $location.UpstreamVhost }}";
{{ else }}
proxy_set_header Host $host;
proxy_set_header Host $best_http_host;
{{ end }}

# Pass the extracted client certificate to the backend
Expand Down Expand Up @@ -816,7 +827,7 @@ stream {
{{ else }}
proxy_set_header X-Forwarded-For $the_real_ip;
{{ end }}
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Host $best_http_host;
proxy_set_header X-Forwarded-Port $pass_port;
proxy_set_header X-Forwarded-Proto $pass_access_scheme;
proxy_set_header X-Original-URI $request_uri;
Expand Down

0 comments on commit a30bf21

Please sign in to comment.