Контекст: у меня есть приложение, работающее в данном домене. Но в некоторых случаях мне нужно запускать его под другим доменом, чем тот, который он ожидал (я также потенциально меняю порт).
Я пытаюсь настроить fastcgi_param HTTP_HOST, но приложение все равно получает «настоящий».
Вот что я пробовал в качестве конфигурации:
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
fastcgi_pass php:9000;
fastcgi_index app.php;
fastcgi_param SCRIPT_FILENAME /app/web$fastcgi_script_name;
fastcgi_intercept_errors on;
include fastcgi_params;
fastcgi_param SERVER_NAME my-app.com;
fastcgi_param HTTP_HOST my-app.com;
}
Возникло много проблем:
Примечание: это основано на образе докера nginx.
Обнаружил проблему:
У меня много серверных частей в моей конфигурации nginx. Я не упомянул об этом, потому что я думал, что nginx берет последнее, если нет совпадений. Но на самом деле это полная противоположность. Я поставил правую серверную часть первой, и она работает.