我已将所有https请求redirect到http。 在这里你可以看到我在nginxconfiguration文件中做了什么:
*
#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;
*
所以问题是用户得到一个redirect错误,因为浏览器认为我的网站在https下仍然可用。 如果我删除caching,我可以访问我的网站,但我怎么能避免这个redirect错误,大多数用户认为我的网站是离线的。 而且caching将在几天后自动删除…太长了!
推荐的解决scheme是购买或续订相关的SSL证书,并使您的网站在HTTPS下重新联机。
您所描述的caching听起来像是可能是HSTScaching,尽pipe您没有提到使用该caching。
如果是这样的话,你可以通过将下面的代码添加到你的nginxconfiguration文件中来禁用HSTScaching :
add_header Strict-Transport-Security max-age=0;