如何将HTTPredirect到HTTPS(GCP负载平衡)?

我正在玩GCP负载平衡,并希望将HTTPredirect到HTTPS链接。 但无法弄清楚。

我的负载平衡看起来像:

Load balancer name Front End: Protocols IP Certificate HTTP xxxx:80 - HTTPS xxxx:443 example-com Back End: Hosts Paths Backend example.com /* webs-backend 

我的web后端是一个简单的nginx web服务器,它监听TCP / 80端口。 Nginx服务器configuration:

 server { server_name example.com; root /var/www/html; <snip> } 

现在使用这个GCP负载平衡设置,我可以访问HTTP和HTTPS,尝试configurationNginx发送密码301redirect到HTTPS,它将无法正常工作。 太多的redirect。

问题是,我如何configurationGCP负载平衡将HTTPredirect到HTTPS?

提交给Google产品工程团队的function请求会在GCP HTTP负载均衡器上提供支持。 您可以在Google公开问题跟踪器上跟踪此情况。

有一个讨论相同的线程 ,并且在NGINX服务器中,您可以通过将以下string添加到nginxconfiguration文件中来完成相同的操作。

if($ http_x_forwarded_proto =“http”){return 301 https:// $ host $ request_uri; }

你可以检查这个线程以及哪些可以帮助你。