我有一个托管在 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 中,仅此设置就会使重定向不再起作用,并返回 Google 的 404 错误页面。
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;
}
}
答案1
我通过创建 DNS 并使用 conf 中的 server_name 指令提供它解决了这个问题。出于某种原因,GCloud 不允许在 Host 标头中使用 IP,而我使用 AWS 服务时从未遇到过任何问题。