我的网站有一些 QA 服务器。一年前,我曾尝试与我的生产网站建立 SSL 连接,因此我也通过 nginx 在 QA 上实现了它。
现在它已经过期了,我不想在 QA 上续订。
我该如何在不删除 Nginx 的情况下做到这一点。我尝试了一些我在 Google 上搜索过的方法,但没有找到好的方法。
它仍然要求进行 SSL 检查,这是我尝试加载它时收到的错误:
main.9b8be0e9.chunk.js:1 Mixed Content: The page at 'https://example.com/' was loaded over HTTPS, but requested an insecure resource 'http://example.com:46/ws/....'. This request has been blocked; the content must be served over HTTPS.
nginx 开始配置……
server {
listen 80;
#some trying
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
server_name mydomain.com www.mydomain.com;
#I remove the s from the https...
return 301 https://example.com$request_uri;
}
我还在服务器端口和 443 上设置了监听器
答案1
return 301 https://example.com$request_uri;
使用代码 301,您指定了一个永恒的重定向到 HTTPS。浏览器过去访问过您的网站,会缓存此重定向,而且由于它被指定为永久重定向,因此会立即使用 HTTPS,而不会先尝试使用 HTTP,即使用户明确输入了纯 HTTP URL。
服务器无法控制浏览器的重定向缓存,除非添加使用 301 的条目。没有办法强制浏览器删除再次输入。另请参阅强制浏览器忘记缓存的重定向?