Lighttpd/Typecho全站启用HTTPS

Posted on

1. 申请SSL证书

这里我用的是腾讯云的免费SSL,像阿里云、景安什么的也有免费的,据说审核也很快

2. Typecho设置

登录Typecho后台 -> 设置 -> 基本设置 -> 站点地址改成https的域名
编辑Typecho站点根目录下的文件config.inc.php加入下面一行配置

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

如果是自带的评论系统,也要改一点东西,因为我采用第三方评论就不用改了,详见第一个参考链接

3. Lighttpd设置

编辑/etc/lighttpd/lighttpd.conf,加入

$SERVER["socket"] == ":443" {
    ssl.engine = "enable"
    ssl.pemfile = "/etc/lighttpd/ssl/server.pem"        //个人域名证书
    ssl.ca-file = "/etc/lighttpd/ssl/ca-root.bundle.crt"    //证书链
    server.name = "example.com"                //你的域名
    server.document-root = "/var/www/"            //lighttpd的网站根目录
}
//下面这一段用于将HTTP连接跳转为HTTPS连接
$HTTP["scheme"] == "http" {
    $HTTP["host"] =~ ".*" {
        url.redirect = (".*" => "https://%0$0")
    }
}

编辑/etc/lighttpd/modules.conf,取消注释打开mod_redirect

server.modules += ( "mod_redirect" )

配置证书文件。server.pem为腾讯云提供下载的证书中IIS版的pfx文件转换成的pem文件,在线转换网址在文末工具链接1给出;ca-root.bundle.crt文件为证书链,详细可看下参考资料5、6,如果不安装这个,在安卓平台的浏览器上会显示证书不可信任,获取方法是在线上传IIS版的pfx文件,而后获取下载,获取链接在文末工具链接2给出。

至此,service lighttpd restart重启lighttpd,完成全站开启HTTPS,想进一步研究文末给出了一些链接,我也没怎么弄懂,留给有兴趣的小伙伴们,至少,UC不能劫持我们加广告啦~


  • 参考链接

Typecho全站启用HTTPS教程 - 小z博客
Docs SSL - Lighttpd - lighty labs
HowToRedirectHttpToHttps - Lighttpd - lighty labs
Lighttpd - ArchWiki
AlphaSSL 证书被 Android 的 UC、360、Chrome、小米自带的浏览器显示不信任 - V2EX
Lighttpd 配置 SSL - SSL.DO 支持文档

  • 工具链接

SSL Converter - Convert SSL Certificates to different formats
证书链下载/证书链修复

  • 深入研究

系统运维|在 Apache、NGINX 和 Lighttpd 上启用 HTTP 公钥固定扩展(HPKP)
SSL状态检测
SSL证书_HTTPS证书_免费SSL证书申请_SSL证书购买_全球SSL数字证书领导者 - 亚洲诚信/TrustAsia
SSL Server Test (Powered by Qualys SSL Labs)

添加新评论