前言
最近看到很多站都做了https改造,手上刚好有个闲置的域名和服务器,就准备做一下测试,看看https对搜索引擎的友好度到底如何,是否像官方所说的有优待呢?拭目以待吧。我也把操作步骤记录下来,以便于观察到底怎么样。
前期准备
1、给域名购买SSL证书,现在购买SSL证书的途径太多了,我使用了 Let's Encrypt免费三个月做测试,具体申请步骤可以到网上找各类教程,如果你装的有宝塔面板,直接在面板里申请就可以了。我的网址是:https://www.cy77.net大家可以去测试一下。
2、服务器搭建已经完成,网站数据库和程序都完整。
操作步骤:
1、首先把网站搭建起来,保证http网站能够正常访问。
2、在服务器绑定域名,同时申请SSL证书。
3、【划重点】修改nginx配置,把所有的http访问全部跳转到https上去。
很多朋友在做https接入的时候,由于配置不是很熟悉,或者使用面板自带的配置又不正确,导致https访问总在出错。
网上有很多nginx和apache跳转的方法,说的都不是很详细,导致在百度后台申请https认证的时候失败。下面说说我自己在操作过程中遇到的一些坑和解决方法。
NGINX配置HTTP跳转到HTTPS绝对可行的方法。(修改你网站的conf配置文件,注意把域名、路径和跳转地址修改成你本地路径)
server
{
listen 80;
server_name www.cy77.net cy77.net;
root /wwwroot;
index index.html index.php;
return 301 https://www.cy77.net$request_uri; #把所以有的http访问跳转到https上面
}
server
{
listen 443 ssl http2;
server_name cy77.net;
index index.html index.php;
root /wwwroot;
rewrite ^(.*) https://www.cy77.net$1 permanent; #不带www的https自动跳转到带wwww的https上面,集中权重
}
server
{
listen 443 ssl http2 default;
server_name www.cy77.net;
index index.html index.php;
root /wwwroot;
}
上面配置了3个server,第一个是为了把所有http的访问跳转到https上,第二个是把不带www的https访问跳转到带www的https上面,第三个就不用细说了吧。
通过以上配置,基本上来说nginx环境下的https改造就完成了,接下来就是到百度后台去提交https登场了。
4、百度https验证的坑和小技巧。
抱着喜悦的心情去百度后台提交https验证,等待它粉墨登场,心里想原来操作过的都很快通过验证,这次也应该没问题。可是百度是无情的,经过三次认证都是失败,都是提示:http://www.cy77.net还可以访问。而且我还是特意检查了,全站都没有http链接。郁闷的一逼,反复检查以后发现网站底部有一个网址的文本,如图:
果断去掉这个文本以后,重新验证,立马就通过了。(白痴的某度,把这个居然也认为是一个链接了)
如果你因为各种原因导致百度https认证一直通不过的话,告诉你一个100%通过的办法:
具体操作:把你的网站首页删除,新建一个网站首页,里面内容什么都不写的空文件上传到空间去,然后再去百度验证,保证能够通过。ps:通过以后记得恢复你原来的首页哦。
至此,成语大全网站的SSL改造完成,坐等某度所谓的https优待(貌似除了收录慢之外,好像没有什么特别的)
总结
https改造比较繁琐的问题就是在那几个跳转上面,如果使用面板配置或者网上搜索到的一些配置方法,很多都可能已经失效了或者不正确,我们在做配置的时候一定要认真的去检查,看看是否复合你的要求。
另外,通过这次的操作不难发现,某度在https的支持上好像还不是很完善,例如那个网址的文本它可能也认为是一个链接导致验证不能通过。
不管它了,记录一下,希望给正在做全站https改造的一点思路和帮助吧!