我最近将我的纯客户端网站从http
移至https
,现在用户有了一个新的网站本地存储https://...
。我没有用户 ID,也不认为有必要实现它们来将 http 存储信息存储在服务器上。但我阅读了如何http
在页面上创建隐藏的 iframehttps
并使用其信息将http
本地存储迁移到新https
页面。
我尝试了这个配置,但一切仍然出现如下情况https
:
server {
server_name example.com www.example.com localhost;
listen 80;
listen [::]:80;
location / {
if ($request_uri = "/http-stats.html") {
return 200 http://$host$request_uri;
}
return 301 https://$host$request_uri;
}
}
…
not
我在 nginx 文档中没有看到指令。有没有合理的方法可以做到这一点?
答案1
可以让 Nginx 同时监听端口 80(HTTP)和端口 443(HTTPS)。
这是帖子中接受的答案 Nginx 服务器同时有HTTP和HTTPS,浏览器选择HTTP:
事实证明,可以同时拥有 HTTP 和 HTTPS 服务器,并默认选择 HTTPS。我只需要将 conf 文件中的两个服务器混合在一起,就像这样:
server {
listen 80;
listen 443 default_server ssl;
ssl_certificate certificate.crt;
ssl_certificate_key server.key;
server_name server.com;
server_name *.server.com;
client_max_body_size 0;
charset utf-8;
...
}