This commit is contained in:
Manuel de Brito Fontes 2017-09-29 18:03:27 -03:00
parent f549e03cbd
commit f253d249f2
2 changed files with 7 additions and 4 deletions

View file

@ -673,17 +673,20 @@ func buildForwardedFor(input interface{}) string {
func trustHTTPHeaders(input interface{}) bool { func trustHTTPHeaders(input interface{}) bool {
conf, ok := input.(config.TemplateConfig) conf, ok := input.(config.TemplateConfig)
if !ok { if !ok {
glog.Errorf("%v", input)
return true return true
} }
return conf.Cfg.RealClientFrom == "http-proxy" || return conf.Cfg.RealClientFrom == "http-proxy" ||
(conf.Cfg.RealClientFrom == "auto" && !conf.Cfg.UseProxyProtocol && (conf.Cfg.RealClientFrom == "auto" && !conf.Cfg.UseProxyProtocol ||
(conf.PublishService != nil && conf.PublishService.Spec.Type == apiv1.ServiceTypeLoadBalancer)) (conf.Cfg.RealClientFrom == "auto" && conf.PublishService != nil &&
conf.PublishService.Spec.Type == apiv1.ServiceTypeLoadBalancer))
} }
func trustProxyProtocol(input interface{}) bool { func trustProxyProtocol(input interface{}) bool {
conf, ok := input.(config.TemplateConfig) conf, ok := input.(config.TemplateConfig)
if !ok { if !ok {
glog.Errorf("%v", input)
return true return true
} }

View file

@ -155,8 +155,8 @@ http {
# Trust HTTP X-Forwarded-* Headers, but use direct values if they're missing. # Trust HTTP X-Forwarded-* Headers, but use direct values if they're missing.
map {{ buildForwardedFor $cfg.ForwardedForHeader }} $the_real_ip { map {{ buildForwardedFor $cfg.ForwardedForHeader }} $the_real_ip {
# Get IP address from X-Forwarded-For HTTP header # Get IP address from X-Forwarded-For HTTP header
default $remote_addr; default $realip_remote_addr;
'' $realip_remote_addr; '' $remote_addr;
} }
# trust http_x_forwarded_proto headers correctly indicate ssl offloading # trust http_x_forwarded_proto headers correctly indicate ssl offloading