Это все вопросы, которые приходят на ум. Нужно показать Вам ответ...
Я нашел ответ на этот вопрос, более тщательно читая документы HttpCoreModule.
port_in_redirect off;
Это сохраняет порт, используемый клиентом во время перенаправлений. Тесно связанный server_name_in_redirect
который использует первое имя хоста для перенаправлений. Поскольку я не хотел, чтобы sitename.v.myserver.com перенаправил на sitename.com,
Код позади NGINX, вероятно, использует переменный SERVER_PORT FASTCGI для определения, где направить пользователя. SERVER_PORT будет содержать порт nginx, слушает на, так, чтобы был бы 8000 в Вашем случае.
Можно попробовать что-то вроде этого за тестирование цели:
location ~ \.php$ {
[...]
fastcgi_param SERVER_PORT 80;
}
адаптированный к Вашей конфигурации. Это - грязный взлом, но может помочь Вам диагностировать проблему.
У меня такая же проблема с Nginx+PHP-FPM в докере на 80:8080 (сопоставлении портов). перенаправление порта_в_не помогло. с absolute_redirect проблема была периодически.
Итак, мое решение:создать файл f.e. schema.conf:
map $http_x_forwarded_proto $balancer_port {
default 80;
"https" 443;
}
map $http_x_forwarded_proto $balancer_https {
default "NO";
"https" "YES";
}
А затем просто используйте порт:
location ~ \.php$ {
try_files $uri @bitrix;
fastcgi_pass php-fpm:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SERVER_PORT $balancer_port;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}