我在Goole Cloud上有一个HTTP和HTTPS负载均衡器。是否可以将其设置为强制执行(重定向)与HTTPS的所有连接?
截至 2015 年 6 月不在负载均衡器上。
或者,您可以将 Web 服务器配置为为所有重定向到 HTTPS 版本的 HTTP 请求返回 301。
对于 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;
}
为什么要费心重定向?您可以轻松创建新的 (SSL) 全局转发规则并将其指向后端服务。
例如,http://107.178.251.37/指向我的 HTTP 后端,我添加了另一个全局转发规则以使其成为 SSL:https://107.178.240.233/。