Контекст: у меня есть приложение, работающее в данном домене. Но в некоторых случаях мне нужно запустить его под другим доменом, чем тот, который он ожидает (я также потенциально меняю порт).
Я пытаюсь настроить 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 берет последнее, если нет совпадений. Но на самом деле это полная противоположность. Я поставил правую серверную часть первой, и она работает.