typecho开启https教程
in 建站教程 with 0 comment

typecho开启https教程

in 建站教程 with 0 comment

全站启用https会让我们的网站更加安全,而且百度官方也明确表示HTTPS是大势所趋,建议我们使用https,下面分享下Typecho程序设置HTTPS的过程。

今天抽空给本博客部署了下ssl证书,从此帖子网也有了高大上的小绿锁,这里简单记录下过程。

申请SSL证书

启用HTTPS必须要拥有一个SSL证书,现在国内的阿里云、腾讯云、七牛、西部数码都可以申请证书,申请成功之后我们下载相对应服务器环境的证书,按照教程部署SSL证书(具体教程略)。

题外话

由于我用的百度云虚拟主机所以可以一键部署,这里说下后续需要做的

教程开始

刚部署ssl证书后通过https://www.tiezi.xyz/ 访问虽然可以打开,但是网站完全变了一个模样,看下图

QQ截图20170802211714.jpg

别怀疑,你并不是申请了一个假证书。

通过审查元素(F12)我们可以看到,里面的链接都还是http,也就是说并没有实现https

QQ截图20170802212341.jpg

现在继续向下看

Typecho设置

登录Typecho后台 -> 设置 -> 基本设置 -> 站点地址改成https://你的域名

QQ截图20170802212503.jpg

这个时候回到前端就可以看到已经恢复了原来的样式

不显示小绿锁?

嗯?仔细一看才发现那个传说中的小绿锁怎么不见了?!

QQ截图20170802212643.jpg

这个其实是因为页面中还加载了http的资源,比如图片或css文件,一般都是没开启https之前留下的,已经记录到了数据库中

QQ截图20170802212905.jpg

这种情况下就需要到数据库来操作了

登陆你的phpmyadmin,导出你的数据

QQ截图20170802213348.jpg

先备份一份放在一边,用代码编辑器(推荐使用Notepad++)打开导出的文件

按 ctrl+h ,把 http://你的域名 替换为:https://你的域名

QQ截图20170802213657.jpg

保存

重新登录数据库,删除数据表,然后导入你修改好的。

清理缓存就可以去你网站看效果了。

后台没有开启https?

后台乱界面(样式)乱了?

QQ截图20170802214428.jpg

QQ截图20170802214607.jpg

原因和上面介绍的一样

QQ截图20170802214444.jpg

具体方法如下:

编辑Typecho站点根目录下的文件config.inc.php加入下面一行配置。

/** 开启HTTPS */
define('__TYPECHO_SECURE__',true);

QQ截图20170802210449.jpg

附:

有的主题无论怎么改都不行,实际是因为评论表单的action地址还是http,找到站点主题目录下的 comments.php 文件,

搜索 $this->commentUrl()

将其替换为:

echo str_replace("http","https",$this->commentUrl()); 

保存

HTTP重定向到HTTPS

上述操作这样HTTP的方式还是可以访问的,我们可以通过WEB服务器(Ningx)将80端口(HTTPS)重定向到443端口(HTTPS),强制全站HTTPS,详细教程如下:

修改Ningx配置文件,将下面的配置添加到文件中。

server
{
        listen 80;
        server_name www.tiezi.xyz;
        rewrite ^(.*) https://www.tiezi.xyz$1 permanent;
}

查看效果

最后清除浏览器缓存访问下自己的网站,浏览器已经显示安全的小绿锁标识,如果没有出现小绿锁,请通过浏览器F12分析是否还加载了不安全的HTTP资源。

本文由帖子网原创,转载请注明出处!

https://www.tiezi.xyz/archives/103.html

Responses