Remove duplicated X-Forwarded-Proto header.

This commit is contained in:
agile6v 2020-06-12 22:50:07 +08:00
parent 507bef873b
commit e8aaa15ce8
2 changed files with 12 additions and 4 deletions

View file

@ -376,6 +376,9 @@ http {
{{ end}}
}
{{ end }}
{{ if $cfg.UseForwardedHeaders }}
map $http_x_forwarded_proto $full_x_forwarded_proto {
default $http_x_forwarded_proto;
"" $scheme;
@ -1190,13 +1193,16 @@ stream {
{{ $proxySetHeader }} X-Real-IP $remote_addr;
{{ if and $all.Cfg.UseForwardedHeaders $all.Cfg.ComputeFullForwardedFor }}
{{ $proxySetHeader }} X-Forwarded-For $full_x_forwarded_for;
{{ $proxySetHeader }} X-Forwarded-Proto $full_x_forwarded_proto;
{{ else }}
{{ $proxySetHeader }} X-Forwarded-For $remote_addr;
{{ end }}
{{ if $all.Cfg.UseForwardedHeaders }}
{{ $proxySetHeader }} X-Forwarded-Proto $full_x_forwarded_proto;
{{ else }}
{{ $proxySetHeader }} X-Forwarded-Proto $pass_access_scheme;
{{ end }}
{{ $proxySetHeader }} X-Forwarded-Host $best_http_host;
{{ $proxySetHeader }} X-Forwarded-Port $pass_port;
{{ $proxySetHeader }} X-Forwarded-Proto $pass_access_scheme;
{{ if $all.Cfg.ProxyAddOriginalURIHeader }}
{{ $proxySetHeader }} X-Original-URI $request_uri;
{{ end }}

View file

@ -47,7 +47,8 @@ var _ = framework.DescribeSetting("use-forwarded-headers", func() {
f.WaitForNginxServer(host,
func(server string) bool {
return strings.Contains(server, "server_name forwarded-headers")
return strings.Contains(server, "server_name forwarded-headers") &&
strings.Contains(server, "proxy_set_header X-Forwarded-Proto $full_x_forwarded_proto;")
})
ginkgo.By("ensuring single values are parsed correctly")
@ -95,7 +96,8 @@ var _ = framework.DescribeSetting("use-forwarded-headers", func() {
f.WaitForNginxServer(host,
func(server string) bool {
return strings.Contains(server, "server_name forwarded-headers")
return strings.Contains(server, "server_name forwarded-headers") &&
strings.Contains(server, "proxy_set_header X-Forwarded-Proto $pass_access_scheme;")
})
body := f.HTTPTestClient().