Google HTTP 负载平衡强制 HTTPS

Google HTTP load balancing enforce HTTPS

我在 Google Cloud 上有一个 HTTP 和 HTTPS 负载平衡器。是否可以将其设置为强制(重定向)所有连接到 HTTPS?

为什么要重定向?您可以轻松创建新的 (SSL) 全局转发规则并将其指向您的后端服务。

例如,http://107.178.251.37/ points to my HTTP backend and I've added another global forwarding rule to make it SSL: https://107.178.240.233/.

截至 2015 年 6 月不在负载均衡器中。

作为替代方案,您可以将 Web 服务器配置为 return 301,以便重定向到 HTTPS 版本的所有 HTTP 请求。

对于 Apache(来自 https://wiki.apache.org/httpd/RedirectSSL):

NameVirtualHost *:80
<VirtualHost *:80>
   ServerName www.example.com
   Redirect permanent / https://www.example.com/
</VirtualHost>

<VirtualHost _default_:443>
   ServerName www.example.com
   DocumentRoot /my/document/root
   SSLEngine On
   # .. etc .
</VirtualHost>

对于 nginx(来自 https://serverfault.com/questions/67316/in-nginx-how-can-i-rewrite-all-http-requests-to-https-while-maintaining-sub-dom):

server {
    listen [::]:80;
    return 301 https://$host$request_uri; 
}