У меня есть приложение, размещенное в Google App Engine. Я хочу использовать Nginx в качестве обратного прокси.
Proxy_pass уже работает, но он перезаписывает URL-адрес (например, нажатие 34.34.34.34 в адресной строке перенаправляет на sample-domain-dot-project.appspot.com И перезаписывает URL-адрес), чего я хочу избежать.
Предыдущие решения, уже работающие в производстве (серверы AWS), заключались в применении заголовка Host.
proxy_set_header Host $host;
Однако в Google App Engine только этот параметр приводит к тому, что перенаправление больше не работает, возвращая страницу ошибки 404 Google.
sites-enabled / sample.com.br
server {
listen 80;
client_max_body_size 1000M;
location / {
proxy_pass_request_headers on;
proxy_set_header Host $host;
proxy_pass https://sample-domain-dot-project.appspot.com;
}
}
Я решил это, создав DNS и предоставив его с помощью директивы server_name в conf. По какой-то причине GCloud не позволяет использовать IP-адрес в заголовке Host, что у меня никогда не было проблем с использованием сервисов AWS.