Я настроил Apache за прокси-сервером NGINX, и мое правило перенаправления (перезаписи) HTTPS приводит к циклу перенаправления. Похоже, что HTTPS
возвращается как false, несмотря на то, что я правильно устанавливаю переменную окружения.
Мое правило перезаписи:
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]
Мои экологические переменные:
SetEnvIf X-Forwarded-Proto https HTTPS=on
SetEnvIf X-Forwarded-SSL on HTTPS=on
И когда я делаю var_dump
в PHP, я вижу, что переменные установлены правильно:
[HTTPS] => on
Мне интересно, почему RewriteCond %{HTTPS} off [OR]
всегда возвращает true, даже если URL-адрес доступен по HTTPS и установлена переменная среды? Любая помощь будет принята с благодарностью.
p.s. В качестве исправления, если я использую RewriteCond %{HTTP:X-Forwarded-Proto} !https [NC]
вместо RewriteCond %{HTTPS} off [OR]
, цикл перенаправления пропадает.