nginx amazon-elb

variable de esquema nginx $ detrás del equilibrador de carga



amazon-elb (1)

¿Es posible forzar el valor del esquema nginx $ a "https" si nxinx se está ejecutando detrás del equilibrador de carga?

En mi escenario, el equilibrador de carga se encarga de la comunicación https con el cliente y reenvía las solicitudes a nginx como http sin formato. Sé que puedo hacer algo como esto para detectar https

set $my_scheme "http"; if ($http_x_forwarded_proto = "https") { set $my_scheme "https"; }

pero tengo curiosidad si hay algo como la función real_ip_header para IPs.

¿Hay también algunos encabezados que necesito actualizar cuando detecto https manualmente?


Nuestra configuración es la misma que la suya, solo se usa map lugar de if/set (según lo recomendado por los desarrolladores de nginx ).

# Sets a $real_scheme variable whose value is the scheme passed by the load # balancer in X-Forwarded-Proto (if any), defaulting to $scheme. # Similar to how the HttpRealIp module treats X-Forwarded-For. map $http_x_forwarded_proto $real_scheme { default $http_x_forwarded_proto; '''' $scheme; }

PD Estoy de acuerdo, un módulo real_scheme sería bueno!