重定向https问题已解决

接上文。

关于为什么第一次打开个人网站,不能重定向https,而之后又可以https的问题。看了一个网站内容,解决了我的疑惑,原文如下。

“其实是这样的,第一次访问http页面,由于服务器端没有做好301重定向,所以出现链接断开无法访问,第二次正常访问https站点时,支持HSTS的浏览器响应头含有Strict-Transport-Security: max-age=31536000;意思是在接下来的一年(即31536000秒)中,浏览器只要向xxx或其子域名发送HTTP请求时,必须采用HTTPS来发起连接。比如,用户点击超链接或在地址栏输入 http://xxx/ ,浏览器应当自动将 http 转写成 https,然后直接向 https://xxx/ 发送请求。”

当然,我的情况和他有所不同,我是第一次访问,可以正常打开个人网站,只不过没有正常重定向到https而已。

其实,之前我一直都没有在服务器端配置https重定向,只是在我的所有可能遇到的场景中,浏览器都自动强制请求了https访问。所以我也没怎么发现问题。

刚开始我也想设置重定向,不过提示重定向次数过多,就放弃了。今天才知道是没有把80端口监听单独拿出来的缘故。

用了上一篇里面的教程,今天特意用妈妈手机实验,发现仍然没有办法在首次打开我的个人网站时实现重定向。

其实,我发现,并不一定要用新的设备去验证,只需要把浏览器做下清除就可以了。全清,尤其是证书。

然后就看了很多教程,无非就是新老版本的两种nginx重定向方法,无论我用哪种,都没有效果。

最后,反复试好几次后,发现应该是自己重启nginx命令没用对。

应该用

nginx -s reload

然后,再次验证,发现问题终于解决。

我今天一直用的是

systemctl restart sshd.service

这个难道不能重新加载新的配置吗,不是太懂。

现在的重定向配置如下。

server {
    listen 80;
    server_name  scarsong.com;
    rewrite ^(.*)$ https://$host$1 permanent;
}

这一段要单独拿出来配置,不能和监听443的内容放在一起,不然会提示重定向次数过多。

没有用上篇文章的那个新版本命令。反正这个有效果了,不想再实验了

参考内容如下。

初次使用http打不开页面,使用https打开过后使用http协议又能正常访问 

 

THE END
分享
二维码
打赏
海报
重定向https问题已解决
接上文。 关于为什么第一次打开个人网站,不能重定向https,而之后又可以https的问题。看了一个网站内容,解决了我的疑惑,原文如下。 “其实是这样的,第一次……
文章目录
关闭
目 录