Tarde pero aún así, he tratado el mismo problema, y esto funcionó para mí:
RequestHeader set X_FORWARDED_PROTO 'https' env=HTTPS
La documentación dice:
Cuando la directiva RequestHeader se usa con el argumento agregar, agregar o establecer, se puede usar un cuarto argumento para especificar las condiciones bajo las cuales se tomará la acción. Si la variable de entorno especificada en el argumento env = ... existe (o si la variable de entorno no existe y se especifica env =! ...), la acción especificada por la directiva RequestHeader surtirá efecto. De lo contrario, la directiva no tendrá efecto en la solicitud.
Si bien la variable de entorno HTTPS solo se establece cuando la solicitud se realiza a través de SSL.
No quieres eso; configuraría su encabezado en "HTTP / 1.1" (incluso en una solicitud https), probablemente no sea muy útil para lo que sea que esté pasando.
Tiene diferentes bloques de VirtualHost para http y https; simplemente codifique la
RequestHeader
configuración en cada uno.fuente
Puede solucionar esto usando la
early
palabra clave:De lo contrario, puede hacer lo que sugirió John Crenshaw, que es usar en
RewriteRule
lugar deProxyPass
directivas.fuente
Encontrado la causa. Resulta que es un problema de orden de operaciones. mod_rewrite es responsable de proporcionar estas variables de entorno, pero Apache no lo procesa hasta DESPUÉS de que maneja cualquier solicitud de ProxyPass. Hasta entonces, se establecerá como nulo. La única solución parece ser hacer el proxy a través de mod_rewrite.
Ver http://www.gossamer-threads.com/lists/apache/users/267160?do=post_view_threaded#267160
fuente