#apache #https #http-headers #ssl-certificate #load-balancing
#apache #https #http-заголовки #ssl-сертификат #балансировка нагрузки
Вопрос:
Мне нужно включить ssl (https) в apache через load balancer.
ИТ-команда установит ssl-сертификат в Cisco load balancer и будет контролировать весь трафик от клиента. Этот балансировщик нагрузки установит значение заголовка
X-Forwarded-Proto и X-Forwarded-For и пересылать его на веб-сервер apache. Примечание: порт всегда указан 80
, протокол всегда http
для трафика через apache и load balancer.
Теперь ИТ-команда сообщила, что они настроили балансировщик нагрузки. но когда я проверяю php, помещая
$headers["X-Forwarded-For"]
$headers["X-Forwarded-Proto"]
Эти строки не возвращают никаких!!! требуется ли какая-либо настройка на веб-сервере apache для получения значений заголовка X-Forwarded-Proto
и X-Forwarded-For
. я подтвердил ИТ-команде, что они правильно устанавливают значения заголовка.
может ли кто-нибудь помочь мне в настройке этого?
Спасибо.
Комментарии:
1. что такое $headers? это apache_request_headers()?
2. да, regilero я попробовал $headers = apache_request_headers(); foreach ($headers как $header => $value) { echo «$ header: $value»; } но в нем не были указаны значения X-Forwarded-For и X-Forwarded-Proto, поэтому я должен получить значение явно
3. спросите ит-команду о любом модуле безопасности, добавленном в Apache, который предотвратил бы фильтрацию X-Forwarded-For и тому подобное с использованием адреса прокси-сервера withe-list (mod_rpaf, mod_remoteip), или о конкретной конфигурации mod_security. Этот заголовок может быть подделан, и множество инструментов безопасности могут быть задействованы в фильтрации заголовка до того, как появится PHP.
Ответ №1:
я не смог справиться с $ headers [«X-Forwarded-For»]
$headers[«X-Forwarded-Proto»] итак, я попытался HTTP:X-Forwarded-Port это работает на нашем сайте