谁都不喜欢看到一个普通的网站被浏览器打上一个不安全的标识!不过这提醒了大家,当下网站流量劫持等现象环生,HTTPS改造势在必行!久久经验网已完成HTTPS改造,彻底全站改造成HTTPS的过程有点复杂,特在此记录分享。
HTTPS的具体作用本文不作详说,其原理请百度一下。相信搜索看到此文的你已迫不及待欲将自己的网站改造成HTTPS的访问形式,其实HTTPS就是在HTTP通道下加了一道SSL层,SSL是安全基础(好吧,一脸懵逼)。
https全站改造指南:
准备材料/步骤
准备好阿里云云虚拟主机、申领阿里云的免费SSL证书,开启CDN、域名解析、301跳转。
说明:阿里云产品众多,其导航面板里的菜单很多很难找,技巧:以上产品通过在菜单上方的搜索框里输入产品关键词检索即可。
在阿里云免费SSL证书申请步骤
1、补全信息 》2、提交审核 》3、查看进度 》4、颁发证书 》5、下载证书
特别提示:免费证书只要按要求配置验证文件正确,系统就可自动完成签发。后台小二无法加速免费证书。另外,免费证书用于个人测试目的,后台小二无法提供安装部署的工单咨询服务噢!
以上SSL证书申请的操作在阿里云云盾证书服务管理控制台里完成。
在阿里云开启CDN功能
1、填写基本信息 》2、审核 》3完成
进入CDN管理控制台,添加欲加速/改造HTTPS的域名,填写规范:
添加上图中自己的加速域名、主机IP,其它保持默认即可,提交审核。
完成上述操作后,在CDN域名列表里会显示一个CNAME记录值,如:www.exp99.com.w.kunlunar.com
前往域名控制台添加CNAME记录类型,域名解析操作方法及步骤:
新增的域名解析很快生效,回到CDN管理控制台刷新(可能会有10分钟左右的延迟)。
前往云盾证书服务管理控制台将申请到的免费SSL证书推送到CDN管理控制台等待生效。
2018年10月27日更新备注:虚拟主机的用户现在阿里云上https改造,可以不用在CDN管理控制台操作啦,直接在“主机管理平台”界面里的“域名管理”开启“强制https加密访问”即可!
检测SSL证书HTTPS是否生效
CMD命令,ping域名查看是否含有www.exp99.com.w.kunlunar.com如果有则成功,没有可能需要等待一会~,当然也可以一直刷新网站主页,等待绿色的锁出现在浏览器地址栏。
通过.htaccess设置301跳转正则
通过FTP下载根目录的.htaccess文件,添加301跳转正则代码:
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
最终.htaccess文件类似这样:
通常,上面的方法步骤已经完成HTTPS申请改造了,但是如果用的Wordpress建站程序,可能接下来还需要折腾一下。
你会发现CSS、JS文件都失效了,网页处于无样式状态(CSS、JS文件的路径依然是http导致),通过浏览器的控制台可以发现一堆的错误信息。下面开始处理全站(每一个链接,含站外链接都要改造成https),进入Wordpress后台Setting里修改访问地址,将所有的http改成https。
HTTS改造后Wordpress后台进不去的解决办法
WP后台进不去当然就没法直接将http=>https啦,没关系,登录WP数据库修改wp_opinions数据表。找到数据表中的siteurl字段和home字段,修改http为https。和本站相关的链接带http的都可以改成https(实际上,由于做了301跳转http链接会自动跳转到https链接)。
修改WP数据表
修改wp-config.php文件
通过FTP从根目录下载wp-config.php文件,在里面增加以下代码:
$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
刷新后台界面顺利打开!接下来观察下页面里面还有没有http://形式的链接,有则改之,要不然浏览器的绿色安全锁标识可能会有黄色感叹号或者问号。
与HTTPS相关的SEO优化
这是最后一点完善之处,通过百度资源后台向百度提交HTTPS认证申请,一个工作日出结果。
百度HTTPS认证说明
- HTTPS协议的站点信息更加安全,同时可降低网站被劫持的风险,如网站同时存在HTTP和HTTPS站点,可使用本工具进行认证,便于百度搜索识别网站HTTP与HTTPS之间的对应关系,识别成功后,搜索端将及时展示网站HTTPS资源
- 使用HTTPS认证,需要保证全站所有链接都支持HTTPS访问
- 每个站点每天最多可使用3次认证功能
至此,整站通过SSL证书成功开启HTTPS安全通道访问。如果有步骤不清楚,欢迎留言。