背景
因为自己的博客托管在腾讯云的1核1G的入门机上,也就没心情太折腾这个服务器了。不折腾的办法无疑是采用一键面板,安装方便操作相对也简单。因此在多方查找之下选择了优秀的国产服务器面板————宝塔面板。由于以前一直用的apache做的web环境,自己部署https是没有任何问题的,但是用了nginx之后却发现自己站点的https认证死活过去,一直后台提示错误路径https://www.deroc.cc
问题查找
当时死活查找不出来问题在哪。还想直接封闭80端口解决,但是为了SEO考虑没有封闭(本身为了SEO,去反SEO这就得不偿失了)。问题解决的曙光在于,一次和群里的宝塔开发人员讨教问题时,开发人员说“nginx开启https时默认是302跳转”“302跳转、302跳转、302……”,当时第一反应就是这问题出在了302上边。有兴趣的可以看下科普部分。
302、301跳转科普
302、301跳转科普
301跳转: 页面永久性移走,通常叫做301跳转,也叫301重定向,301转向.指的是当用户点击一个网址时,通过技术手段,跳转到指定的一个网站.
302跳转:302重定向又称之为302代表暂时性转移(Temporarily Moved ),英文名称:302 redirect。 也被认为是暂时重定向(temporary redirect),一条对网站浏览器的指令来显示浏览器被要求显示的不同的URL,当一个网页经历过短期的URL的变化时使用。一个暂时重定向是一种服务器端的重定向,能够被搜索引擎蜘蛛正确地处理。
问题解决
既然发现了问题那就要解决掉,因为302可是有黑历史的————关于这个黑历史我们会在SEO黑帽手段中讲,首先咨询了宝塔的开发人员,他告诉我需要添加permanent,这里点个赞宝塔的开发人员回复解决问题速度很快。那么怎么改呢?大家直接看下边代码
if ($server_port !~ 443){
rewrite ^(.*)$ https://$host$1 permanent;
}
用上边的代码替换掉下边的代码
if ($server_port !~ 443){
rewrite ^/.*$ https://$host$request_uri;
}
哇,都没注意要这个问题,等会去改下
你用默认的话百度站长工具的https检测没办法通过,收录不会变成https,容易出现死链收录。
谢谢!
😀 那么修改这个文件具体位置在?
现在宝塔方面改了这个地方!在网站的配置文件里边!