https://localhost/возвращает
'SERVER_PORT' => '80',вместо 443. При использовании только Apache 2.4 или Nginx 1.21 все ок.
https://localhost/возвращает
'SERVER_PORT' => '80',вместо 443. При использовании только Apache 2.4 или Nginx 1.21 все ок.
Так и должно быть, Apache в этом случае находится за обратным прокси и принимает соединения от nginx по незашифрованому протоколу (т.к. шифрование трафика localhost <-> localhost не имеет никакого смысла). Полагаться на SERVER_PORT не стоит, он далеко не всегда имеет что-то общее с реальностью (реальный порт будет возвращаться, если установить UseCanonicalPhysicalPort On, и он по умолчанию 8080).WinterSilence писал(а): ↑11 авг 2022, 21:59https://localhost/возвращает'SERVER_PORT' => '80',вместо 443. При использовании только Apache 2.4 или Nginx 1.21 все ок.
Где конкретно в конфигурации косяк? Кто вообще в здравом уме полагается на переменную SERVER_PORT и прячет при этом сайт за обратным прокси?WinterSilence писал(а): ↑22 авг 2022, 21:27 SagePointer мне ты ничего нового не открыл, но пользователи переносят вину за этот косяк конфигурации на цмс/фреймворки, что не есть гуд.
Читаем документацию и видим:WinterSilence писал(а): ↑24 авг 2022, 10:13 SagePointer https://github.com/yiisoft/yii2/issues/19493
А теперь внимание, вопрос: а в каком-то вообще дистрибутиве заголовок X-Forwarded-Port в дефолтной конфигурации nginx выставляется?Returns the server port number. If a port is specified via a forwarding header (e.g. 'X-Forwarded-Port') and the remote host is a "trusted host" the that port will be used (see $portHeaders), otherwise the default server port will be returned.
А некоторыми - не возвращаетсяWinterSilence писал(а): ↑24 авг 2022, 12:26 Данный заголовок возвращается некоторыми облачными сервисами, например, AWS
Господи, учи матчасть как работает обратное проксирование, и не пиши идиотизма.WinterSilence писал(а): ↑24 авг 2022, 12:59 SagePointer "этот заголовок в случае OpenServer вообще не задан т.ч. используется SERVER_PORT". с чего ты вообще взял, что в данном случае он используется я хз.