使用 Nginx 和 Google App Engine 进行反向代理

使用 Nginx 和 Google App Engine 进行反向代理

我有一个托管在 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 服务时从未遇到过任何问题。

相关内容