Contents
wordpress网站http跳转到https实现方法及作用
先简单介绍一下情况和我的需求
网站的话就是这个网站wmying.com.
因为现在浏览器的话,如果你网站域名是http开头,那么浏览器会提示网站不安全,在地址栏里会有一个标志,不同浏览器的显示不一样,但内容大概相同,就是说http的网站传输不安全。
如果网站添加了SSL证书且网址以https开头的话,那么浏览器地址栏前面会显示一把小锁,表示网站可以安全访问
我们来具体看一下浏览器显示安全和不安全分别是什么样子(以谷歌浏览器和360浏览器为例)
先看下360浏览器显示情况
如果网站是http的,那么地址栏会显示一把带红叉的小锁
如果网站域名是以https开头,那么地址栏前面会显示一把绿色的小锁,表示安全。
再来看下谷歌浏览器的显示情况
这是未添加ssl证书,以http开头的网站,谷歌会非常直接的以3个醒目的文字提醒你“不安全”
如果你添加了SSL证书,网站以https开头的话显示如下–没有“不安全”3个字,同时还会显示一把小锁表示安全
所以我给网站添加了SSL证书,但是问题来了,给网站添加了SSL证书之后,只是你的网站支持了https访问,客户访问时如果域名是以https开头的话,那么会显示网站安全,有一把小锁的标志,但是如果客户访问的是以http开头的网址时,还是可以访问的,但这时就会显示网站不安全,没有小锁标志。
这个就好像是去你家(网站)路,之前只有一条路http, 但是http这条路让人给在起点树了个牌子,写着“这条路可能不安全,行人小心”, 你为了让人能够放心的去你家(网站 )你自己修了一条新路https(网站添加了ssl),这条路在起点树个牌子写着“道路平坦–请放心通行—-某某安全机构宣”, 现在是去你家的路有2条,2条都通行,但你想让所有人都走第2条路https这条,这样省得别人在看到http这条路时,因为不确定是否安全而直接放弃去你家的打算,你现在只需要在http这种路树个牌子告诉行人,右转有一条非常安全的https路,将行人引导到https这条路上。
实际操作
我是LNMP环境,SSL证书已经安装过了。
进入网站对应的nginx目录
cd /usr/local/nginx/conf/vhost/
找到网站的配置文件,我的是www.wmying.com.conf
然后用vi命令编辑,也可以下到本地修改后再上传替换。这里我直接用vi命令编辑
vi www.wmying.com.conf
找到server name www.wmying.com wmying.com;
这行
在这行的下面加一行代码 return 301 https://$server_name$request_uri
;
然后保存退出
重启一下nginx或是重启一下lnmp都可以。
这时你再用http访问你网站,就会发现,网址会自动跳转到https,这就实现了我们只保留一个https安全访问的想法。
啰嗦了一堆,实际上只做了一件事,就是让客户访问你网站http网址时会自动跳转到https, 至于为什么这么做的原因,我在上面已经说过了,这里不重复了,这是我现在这个网站www.wmying.com实际遇到的问题, 本来我只想简单的写文章记录一下,这样如果后面遇到相同的问题可以直接按照这个来操作了,这也是我建这个站的目的之一,就是记录我实际操作过程中(网站,阿里平台,社媒等)遇到的问题以及该问题如何解决,这个我在外贸营网站的由来中已经说过了。这里之所以把这么个简单的问题写了这么多,写的这么啰嗦,实际上是想让更多新手了解一下为什么要这么做,这么做的好处是什么? 还有具体如何操作的。
最后再强调一下,你要是想http跳转到https是有一定前提的。
一,你已经安装了ssl证书
二,你安装证书后http, https网站都没问题
三,我的这个操作方法只适合lnmp环境,如果是lamp的话方法不一样,可以找下教程。
其实有很多方法都能实现,我这里只是用了我觉得最简单最方便的一个方法。
大家如果有更好的方法可以在评论中留言。