Nginx

使用 Nginx 和 Google App Engine 的反向代理

  • December 28, 2019

我有一個託管在 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 錯誤頁面。

啟用站點/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 並使用 conf.xml 中的 server_name 指令提供它來解決它。出於某種原因,GCloud 不允許在 Host 標頭中使用 IP,這是我在使用 AWS 服務時從未遇到過的問題。

引用自:https://serverfault.com/questions/996054