我已将所有 https 请求重定向到 http。您可以在此处看到我在 nginx 配置文件中所做的操作:
*
#redirecting https to http::
server { listen 443 ssl;
listen [::]:443 ssl;
server_name example.com www.example.com
ssl_certificate /etc/nginx/sd.crt;
ssl_certificate_key /etc/nginx/sd.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
rewrite ^(.*) http://www.example.com$1 permanent; }
#redirecting non-www to www::
server {
listen 80;
listen [::]:80;
server_name example.com; return 301 http://www.example.com$request_uri; }
#server block
server {
listen 80;
listen [::]:80;
server_name www.example.com;
*
因此,问题在于用户会收到重定向错误,因为浏览器认为我的网站在 https 下仍然可用。如果我删除缓存,我可以访问我的网站,但我如何避免此重定向错误呢?大多数用户认为我的网站处于离线状态。几天后缓存会自动删除...太久了!
答案1
建议的解决方案是购买或更新相关的 SSL 证书并让您的网站在 HTTPS 下重新上线。
您描述的缓存听起来像是 HSTS 缓存,尽管您没有提到使用它。
如果这是问题所在,你可以禁用 HSTS 缓存通过将此代码添加到您的 nginx 配置文件中:
add_header Strict-Transport-Security max-age=0;