wordpress实现全站HTTPS
版权属于: Postbird - There I am , in the world more exciting!
原文地址: http://www.ptbird.cn/wordpress-https-site.html
转载时必须以链接形式注明原始出处及本声明。
2016年11月25日更新:
https做了两天,现在我把http的访问都301成https,因为之前很多友链或者是外面发的文章的链接,都是http的链接,比较麻烦,因此写了个代码判断如果是http则进行301跳转到https。
用了wordpress的is_ssl()函数进行的判断。
if(!is_ssl()){$nowUrl=home_url(add_query_arg(array()));$url='https'.substr($nowUrl,5);header('HTTP/1.1 301 Moved Permanently');header('Location:'.$url);exit();
}
截取替换了http再301,就没啥问题了。
因为如果强制使用https的话,外面http的链接是没办法转https,会显示无法访问。
另外七牛的https下载流量是付费的。。。并没有免费这一说,所以如果继续用https的话,价格问题是需要考虑的(打算不用七牛了,反正我自己主机流量不限制),就是不知道下载速度能不能跟上,到时候看看价格。
去看了一下,七牛价格还算比较便宜。(我冲了10块钱,能用很久好像,哈哈哈哈哈)
更新分割线
2016年11月23日开始,www.ptbird.cn主站点也就是我的博客启用了https,不管因为啥原因吧反正,目前还是可以使用http协议访问,不过后面会进行301。
Https的好处很多我就不一一细说了,今天刚看了篇文章,《为什么https终将取代http?》,链接忘了,阿里云安全 经纶的文章。
折腾了一下午,各种问题,最后才弄好。
主要说一下怎样实现wordpress的https:
一、SSL证书申请
现在还是可以申请免费的证书的,目前我知道可以的是七牛云可以申请一年的(如果你用七牛云,个人面板就有,我的页面底部有优惠链接),还有比较出名的是let's encrypt ,以前炒的比较多的沃通好像不能了?
可以看到我的证书是 let's ecvrypt的,但是不是在上面申请的。
我是在 https://www.sslforfree.com/ 上面申请的,申请流程很简单。
1、输入域名准备点击创建,www.example.com 自动会生成一个 example.com
2、然后进行域名所有权的验证,可以采用ftp自动上传和手动上传验证文件两种方式。我试了试 ftp貌似不成功,就采用了手动验证。
根据他的要求创建文件夹,上传文件并且验证文件。
3、点击download就可以查看自己的证书了,给了一个CA,给了private key 和 Certificate 。
4、应用到站点就可以了,证书申请就完成了。有时间限制,到时候可以重新申请,如果他还能免费的话,不过国外的免费做的都很好,不想国内某些服务商。
二、主机做的工作
我的博客托管在野草云,网站底部有优惠链接。
用野草云的独立ip虚拟主机来举例,注意,一般来说共享ip主机是没有ssl证书服务的。
进行ssl证书设置,然后选择粘贴事前准备好的证书和密匙,在选择下面的CA证书,把上面申请的CA粘贴上去保存就行了。
不要用服务器共享或者是自己创建,自签名的证书很多都是不认可的,特别坑。
设置好了ssl证书,把站点开启支持ssl并且选择private到public就可以了,选择private会有点问题,因为你验证的路径是放在public(申请证书的时候),因此即使拖过去也会造成证书存在问题,我没有解决这个问题。(不需要担心http访问,后面会解决,尽量不要用主机本身去解决)
因为野草云的主机会有private这样的选项,别的主机并没有,主要开启ssl就可以了。
三、站点做的工作
1、wordpress的基本设置中站点名称或者可访问名称都换成https的
2、.htaccess文件的采用google建议的301来将流量都导向https的域名即可,这样子即使使用http访问,也会定向到https上,流量没有问题,友情链接等也不会有比较麻烦的问题,比较容易。
追加几行就行
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.domain.com/$1 [R=301,L]
其中domain.com是自己的域名
3、将网页中的head请求以及自己写的代码中的图片地址等换成https的链接。
我的站点没有用原来注意的底部来加,是自己改写的,还有页面都是自己用代码写的,图片是上传后用的地址。
所以很多地址都写了http的链接,当时没有考虑这个问题,好在比较少,我就改了十几个而已。
说一下怎样能够知道那些地方存在问题:
当做好的主机ssl之后,进行浏览器访问,如果存在http的请求,浏览器会和你说这个站点的SSL证书是没有问题的,但是私密传输的同时还存在不安全的传输,通过network请求可以看到那些是不安全的,要么去掉,要么改掉就可以。
有些插件是不支持ssl的,不过比较少,我用的几个插件都没有问题。
百度一键分享我当初用的http链接,是有问题行的,让我去掉了,不过我也不用它,用了优享的插件,js脚本留在里面,刚好去掉了。
四、配合七牛云
如果站点用了水煮鱼的七牛云插件,默认链接不能是七牛默认的或者是自定义的,因为都是http,但是麻烦的一点是,七牛自定义的域名是不支持https的,因此只有两种选择,如果你的主机速度快的话,不一定非要用七牛的存储(开个玩笑)。
大家都会推荐使用七牛,七牛的下载速度很快,但是开https后,自定义域名是不能用,就我自己体会,用了七牛的https 的域名后,速度明显慢了,没办法。
1、在融合CDN那里添加https的域名,同时把空间的默认域名设置成https的域名,另外镜像源设置成https://本站域名。
2、wordpress的插件上的域名也要换成https://七牛的https域名
貌似https的下载流量和http是不一样的,需要单算,而且没有免费的额度,等我使用一段时间看看费用吧,待以后更新。
wordpress实现全站HTTPS相关推荐
- wordpress开启全站https
一.系统文件修改 路径:网站根目录\wp-includes\functions.php找到代码 require( ABSPATH . WPINC . '/option.php' );在下方添加: ad ...
- mysql批量修改http为https,墨涩网 - typecho系统升级全站https数据库批量替换网址/内容——墨涩网...
我们的网站需要批量替换内容或者更换域名以及图床后,或者你和我一样就是为了升级全站HTTPS,需要大批修正一切文章的所用图片链接和一些文件链接地址,手动修正不太现实,因为一般这种连接比较多,难以准确查找 ...
- 借助腾讯云CDN开启全站https及问题解决分享
借助腾讯云CDN开启全站https及问题解决分享 参考文章: (1)借助腾讯云CDN开启全站https及问题解决分享 (2)https://www.cnblogs.com/purpleraintear ...
- 10分钟免费开启全站https
title: 10分钟开启全站https date: 2018-05-25 16:03:31 tags: https ubuntu 持续了1个多月的备案,今天收到短信终于下来了. 上篇水文,大概的记录 ...
- Hexo 双线部署到 Coding Pages 和 GitHub Pages 并实现全站 HTTPS
我的博客地址:https://www.itrhx.com/ 部署到 Coding Pages 的好处:国内访问速度更快,可以提交百度收录(GitHub 禁止了百度的爬取) 部署到 Coding Pag ...
- 聊聊全站HTTPS带来的技术挑战
日前写的文章里了讨论了数据传输的安全性的问题,最后一部分提到了通过HTTPS解决数据传输安全性的方案.那么一个新问题又来了,实施全站HTTPS的过程中,我们可能会遇到哪些技术问题?所以我今天和大家一起 ...
- 基于阿里云上实现全站https
http://www.zhuxiaodong.net/2016/how-to-switch-your-website-to-https-on-aliyun-part1/ 一些重要的互联网资源参考: 强 ...
- 全站 HTTPS 来了(转载)
全站 HTTPS 来了(转载) 转载:本文为腾讯Bugly原创文章. 最近大家在使用百度.谷歌或淘宝的时候,是不是注意浏览器左上角已经全部出现了一把绿色锁,这把锁表明该网站已经使用了 HTTPS 进行 ...
- 免费申请 HTTPS 证书,开启全站 HTTPS
HTTP 报文以明文形式传输,如果你的网站只支持 HTTP 协议,那么就有可能遭受到安全攻击.你可以使用 Google 浏览器打开一个 HTTP 协议网站,会发现 Chrome 在网址的左边将这个网站 ...
最新文章
- 强化学习是针对优化数据的监督学习?
- 黄浴:基于深度学习的超分辨率图像技术发展轨迹一览
- win8计算机上工具选项在哪,Win8.1在开始菜单中找不到“便笺”工具如何恢复
- 开发腾讯移动游戏平台SDK ios版Ane扩展 总结
- 进小公司要先看看老板的人品
- 使用vue-router设置每个页面的title
- geth 以太坊钱包_以太坊Geth节点RPC API中文文档
- C#中oracle数据库的连接方法
- stanford-parser for C#
- SecureCRT使用小技巧
- 关于python中自己写的模块之前相互调用函数
- [转载] 我的Android进阶之旅:经典的大牛博客推荐
- DDR March系列算法整理
- 微信公众服务号申请流程
- 计算机上u盘打不开,u盘在电脑上打不开怎么解决
- AutoCAD VBA二次开发地形图多边形裁剪
- Java 使用记事本编写第一个java程序
- 利用Puppeteer来标准化抓站新闻格式
- 解决ubuntu 18.04安装搜狗输入法 在fcitx的add input method不显示
- 软考高级信息系统项目管理师系列之九:项目范围管理
热门文章
- tensorflow最新版本与keras版本对应
- MEMS智能传感器技术的新进展
- 酷狗音乐9.2.0_酷狗音乐安卓版 v9.2.0下载 - 艾薇下载站
- 2019年‘泰迪杯’数据分析职业技能大赛A题——个人代码分享
- python找最长的单词,Python 找出英文单词列表(list)中最长单词链
- Centos7.5 -Vim编辑器和恢复ext4下误删除的文件-Xmanager工具
- XUPT—ACM周总
- Html:简单实现弹砖块小游戏
- vscode连接模拟器运行flutter项目
- 冯建文《数字电路设计》读书笔记