近两年来HTTPS取代HTTP已经成为大势所趋。早在2014年google Chromium安全团队提议将所有的HTTP协议网站标注为不安全。现在,Chrome浏览器已经开始执行这一标准了。从 Chrome 56 开始,任何网页,如果有输入密码或者信用卡资料的,却没有使用 HTTPS,将被 Chrome 浏览器标识为不安全;逐步的,任何没有使用 HTTPS 协议的网页chrome浏览器都会被标识为”不安全”,或者 “Not Secure”。

从chrome 56 版本开始,查看网站的SSL证书的方式做了调整,原来的版本可以点击绿色的小锁进入查看页面,新版本的进入方式:按F12 ,打开开发者工具窗口,进入Security选项卡,然后点击View certificate,如下图所示:

HTTP是目前互联网上使用最广泛的传输协议,但是它没有安全加密功能,很容易遭遇劫持,导致用户流量、隐私被窃。HTTPS则会全程加密传输,并有第三方安全机构认证的数字证书。特别在中国,某些ISP服务商会通过宽带上网服务,进行流量劫持,插入广告代码,使用HTTPS后,这些损招就无计可施了。

搜索引擎逐步支持HTTPS网站的收录,HTTPS作为排名的因素之一,在SEO方面越来越重要。google搜索会把HTTPS作为排名的因素之一,虽然当前只是比较小的因素。2015年百度站长平台发布消息,百度对https页面优先收录、优先排名:

1、从相关性的角度,百度搜索引擎认为权值相同的站点,采用https协议的页面更加安全,排名上会优先对待。
2、此次技术升级之后,百度搜索将同一个域名的HTTP版和HTTPS版作为一个站点来处理,优先收录HTTPS页面。

2017年1月1日,苹果将对Apple Store里所有应用启用一项名为ATS的重要安全功能(App Transport Security,应用程序安全传输,简称 ATS),在启用 ATS 之后,它会强制开发者的应用通过 HTTPS(而不是 HTTP)连接网络服务。

我的网站是基于wordpress构建的,整站转换成HTTPS,可以轻松搞定。

SSL证书的选择

1、对于国内用户来说,可以实用与百度云、腾讯云、阿里云合作的赛门铁克签署的证书,一年免费,申请和使用都很方便。

2、自从Let’s Encrypt免费签发证书后,SSL证书的价格就开始平民化了,有不少付费和收费的SSL可以选择。Let’s Encrypt的证书虽然只有90的天,不过自动续期也很方便,对于小站来说,是很不错的选择。Let’s Encrypt的申请安装方法可以参考文章:为你的Blog快速开启https支持。在安装证书的过程中要注意:需要停止web 服务器,比如 Nginx 、Apache ,否则可能报端口占用的错误。

3、因为篡改、伪造等问题,慎重选择沃通、StartCom颁发的证书。
1)2016年9月30日,苹果 Apple于iOS可信根证书列表中宣布:屏蔽其对中级CA WoSign CA Free SSL Certificate G2( CA 沃通免费 SSL 证书 G2)的信任。

2)2016年10月24日,Mozilla在其安全博客公布了对沃通CA和StartCom的最终处理措施:Mozilla 决定不再信任目前包含在 Mozilla 根证书项目中的沃通根证书(Root certificate)和StartCom 根证书今后颁发的服务器证书。即:它不再信任在10月21日之后签发的沃通CA证书,并从 Firefox 51 起移除对4个沃通根证书的信任。

3)2016年10月31日,Google在其安全博客中宣布了:从Chrome 56开始,不再信任WoSign和StartCom在2016年10月21日后颁发的证书。

4.SSL 要用 ECC 证书,即使因为某种原因必须要用 RSA 证书的,那么也要用双证书,就是 ECC + RSA两个证书。在加密算法上,要去掉 RC4。

5.只使用 TLS 协议,包括 TLSv1.0, TLSv1.1,TLSv1.2。禁止 SSL 协议。

6.SSL 证书的签名算法,要使用 SHA-2,不要使用已经被证明有严重缺陷的 SHA-1了。

调整wordpress网站配置

1.修改wordpress后台配置中的地址改为https版本

通过上面的设置,绝大部分导航中的链接就由wordpress系统自动改为HTTPS版本。
2、对于正文中的内部链接需要手工修改,修改的方法有两种:
1)直接在数据库中更新,更新的sql如下:

update wp_posts set post_content = replace(post_content, ‘//www.watch-life.net/’,‘https://www.watch-life.net/’)

对于数据库不熟悉的站长不推荐这种方法,对数据库错误的更新对网站可能是毁灭性的打击,建议更新前最好备份数据库。
2)利用wordpress提供的api来重写链接。在使用的主题(themes)的目录下的 function.php加入如下代码:

//转换http为https
function change_ssl(){
if( is_ssl() ){
function change_ssl_main ($content){
$siteurl = get_option(‘siteurl’);
$upload_dir = wp_upload_dir();
$content = str_replace( ‘http:’.strstr($siteurl, ‘//’), strstr($siteurl, ‘//’), $content);
$content = str_replace( ‘http:’.strstr($upload_dir[‘baseurl’], ‘//’), strstr($upload_dir[‘baseurl’], ‘//’), $content);
return $content;
}
ob_start(“change_ssl_main”);
}
}
add_filter(‘get_header’, ‘change_ssl’);

这个方法优点是可逆,不会对网站的数据库有什么影响,可以使网站在HTTP和HTTPS之间自由转换,推荐使用这种方法。

调整完内部链接后,检查整个网站的页面,包括首页,栏目页,内容页,sitemap,页面head部分内容,比如:css,js,canonical等,是否都转换成了HTTPS版本。

整站301跳转

整站如果启用HTTPS后运行正常,就可以开始考虑进行整站301跳转了。如果是Apache服务器,在.htaccess文件添加如下代码:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.watch-life.net/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^watch-life.net [NC]
RewriteRule ^(.*)$ https://www.watch-life.net/$1 [L,R=301]

如果是Nginx服务器,在nginx.conf配置如下代码:

server {
listen 80 default_server;
server_name www.watch-life.net;
return 301 https://$server_name$request_uri;
}

以上代码,更换相应的域名即可使用。注意修改或增加配置代码后,需要重启web 服务器。重启后,访问原来HTTP的版本,看是否301跳转为HTTPS的版本。

自此,WordPress整站开启HTTPS开启工作全部完成。后续就是观察各大搜索引擎抓取、收录的情况。

-----------------------------------------------------------

欢迎关注我的网站和微信公众号,文章会在我的网站和微信公众号上同步发布。

本文首发链接:https://www.watch-life.net/wordpress/wordpress-https-link.html

我的网站:守望轩

微信公众号名称:守望轩

微信公众号:iwatchlife

你也可以扫描或长按以下二维码

WordPress整站轻松开启HTTPS的更多相关文章

  1. wordpress整站无损搬迁的几种方法 最后一种最完美

    网站建设之wordpress整站无损搬迁的几种方法 最后一种最完美 网站搬家,当我们更换php虚拟主机,空间升级或更好空间提供商都会发生,站长们请注意,掌握网站迁移方法,是网站日常维护技术中必须掌握的 ...

  2. Python实现采集wordpress整站数据的爬虫

    最近爱上了python,就非常喜欢使用python来练手,在上次的基础上完善一下代码,实现采集wordpress程序的网站的整站数据的爬虫程序,本站也是采用的wordpress,我就拿吾八哥网(htt ...

  3. wordpress整站搬家总结

    去年图便宜,也没准备认真写博文,所以花了几百元钱买了个国内空间(域名已经备案).购买了以后,放了一个wordpress博客,没事的时候写写博文,但从没有抽出时间去写,文章的质量也不追求.一开始还可以, ...

  4. Asp.Net Mvc 整站Https

    网站要使用https需要如下几个步骤 1.申请https证书,现在已经有很多免费的https证书申请了 2.服务器中安装证书 3.网站的连接全部改为https连接 Asp.Net Mvc网站中整站改为 ...

  5. WordPress建站指南

    WordPress建站指南(1)   写在前面: 3月份用10天零碎时间火速完成了建站,后台95%的工作都交给了WP(WordPress).如果想偷懒的话,WP是一个绝好的选择,估计有个小半天就建完收 ...

  6. 前端到后台ThinkPHP开发整站--php开发案例

    前端到后台ThinkPHP开发整站--php开发案例 总结 还是需要做几个案例,一天一个为佳,那样才能做得快. 从需求分析着手,任务体系要构建好,这样才能非常高效. 转自: 前端到后台ThinkPHP ...

  7. 前端资源多个产品整站一键打包&包版本管理(一)

    来新公司工作的第五个月.整站资源打包管理也提上了日程. 问题: 首先.什么是整站的打包管理呢? 我们公司的几个重要产品都在同一个webapp里面,但是,不同的开发部门独立开发不同的产品,长期以来,我们 ...

  8. 301跳转:IIS服务器网站整站301永久重定向设置方法(阿里云)

    欢迎来到重庆SEO俱乐部:搜索引擎优化学习交流QQ群224306761. 承接:seo优化.网站建设.论坛搭建.博客制作.全网营销 博主可接:百度百家.今日头条.一点资讯等软文发布,有需要请联系PE! ...

  9. quotes 整站数据爬取存mongo

    安装完成scrapy后爬取部分信息已经不能满足躁动的心了,那么试试http://quotes.toscrape.com/整站数据爬取 第一部分 项目创建 1.进入到存储项目的文件夹,执行指令 scra ...

随机推荐

  1. 概率论基础教程 (Sheldon M. Ross 著)

    第1章 组合分析 1.1 引言 1.2 计数基本法则 1.3 排列 1.4 组合 1.5 多项式系数 *1.6 方程的整数解个数 第2章 概率论公里 2.1 引言 2.2 样本空间和事件 2.3 概率 ...

  2. Python---Pycharm如何直接上传自己的代码到GitHub

    请提前到官网注册GitHub账号,提前在terminal或者cmd安装git,然后你要检测自己电脑是否存在 SSH key,然后需要把SSH key复制下来,粘贴到你的GitHub. - 第一步:安装 ...

  3. ThinkPHP3.2 where方法的使用

    where方法的用法是ThinkPHP查询语言的精髓,也是ThinkPHP ORM的重要组成部分和亮点所在,可以完成包括普通查询.表达式查询.快捷查询.区间查询.组合查询在内的查询操作.where方法 ...

  4. AD10 没有原理图是否可以修改 PCB

    AD10 没有原理图是否可以修改 PCB 有朋友问 AD 是否可以在没有原理的情况下修改 PCB 呢? 答案是肯定的,可以. 比如增加元件和网络,可以先增加元件封装,再打开网络管理给焊盘加上网络. 相 ...

  5. docker nginx 运行后无法访问

    ## 1 最近在学docker部署,一开始打算将nginx先docker化的. 对照官方的docker镜像介绍说明,进行自定义配置 将官方的nginx.conf复制出来后,修改添加了一些自定义,主要是 ...

  6. java-jdbc数据库连接

    web.xml:(web.xml) <!-- 加载spring容器 --> <context-param> <param-name>contextConfigLoc ...

  7. EntityFrameworkCore操作记录

    Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design -Version 2.0.3 Add-Migration Init U ...

  8. OpenCV相机标定坐标系详解

    在OpenCV中,可以使用calibrateCamera函数,通过多个视角的2D/3D对应,求解出该相机的内参数和每一个视角的外参数. 使用C++接口时的输入参数如下: objectPoints - ...

  9. C#代码覆盖率实践-vsinstr和OpenCover

    C#代码覆盖率实践-vsinstr和OpenCover 标签: C#覆盖率Visual StudioOpenCover测试 2013-06-09 00:57 8149人阅读 评论(8) 收藏 举报   ...

  10. Docker容器技术的PaaS云平台架构设计***

    基于微服务架构和Docker容器技术的PaaS云平台建设目标是给我们的开发人员提供一套服务快速开发.部署.运维管理.持续开发持续集成的流程.平台提供基础设施.中间件.数据服务.云服务器等资源,开发人员 ...