Hank The Developer

Hank's personal site. Browser Extension, JavaScript, HTML5 and so on

现在都用SSL了。 这段时间一直在折腾启用这个网站的SSL,前后试过Let’s encrypt 和StartSSL两个服务,均出现各种问题,配置过程也比较繁琐。耗费掉数十个小时不说,也有些备受打击。

而且StartSSL据称被著名流氓公司奇虎360收购了。对于Let’s encrypt,Chrome和iOS似乎对个人签署的证书也不友好,经常显示不信任。

辗转搜索,有人推荐用腾讯云提供的免费个人证书服务,试用下来步骤非常简单,配置也相当傻瓜化,几分钟即可完成。

这里粗略记录一下。

腾讯云SSL服务地址是:https://console.qcloud.com/ssl

若你还未注册,则需要用QQ或者微信登录,然后通过手机号进行简单的注册。

要申请证书,还需要使用真实姓名和身份证号进行实名认证。填入后若正确可即时通过认证,无需上传照片。

然后点击申请证书, 选择左侧的免费证书即可(也可在右侧购买收费证书)

进入第二步,只需要输入你要申请证书的域名和你的邮箱即可, 默认已经填入了你登录的QQ邮箱。

第三步是域名所有认证,有三种方式。若你使用了诸如腾讯云DNS或者DNSPOD等云DNS服务商的服务,则可选择第一个的自动认证。无需你做出任何操作,就是时间稍微慢一点点(我测试时候是比其他两个慢一两分钟)。

否则就选择第二种自己去修改DNS记录或者第三步在网站目录下添加一个文件。每项都有详细说明,点击可以查看详细的操作方法。

然后点击确认申请。稍等几分钟即可完成申请,回到证书列表https://console.qcloud.com/ssl

若显示已颁发,则可以点击下载。若你绑定了手机号,审核通过后还能收到短信提醒。

下载后的文件解压后包含三种主流服务器的证书文件,分别是Apache2,IIS和Nginx。

将相应的文件上传到服务器, 然后详细配置即可参考这个官方文档:https://www.qcloud.com/document/product/400/4143 

我的服务器是用的Nginx,配置文档如下, 我用的是lnmp和wordpress, 你可以根据需要修改 (文档中包含了将http请求跳转到https)


server
{
    listen 80;
    listen [::]:80;
    server_name momane.com www.momane.com;#填写绑定证书的域名
    rewrite ^(.*) https://$host$1 permanent; #http跳转
}
server {
    listen 443;
    server_name momane.com www.momane.com; #填写绑定证书的域名
    ssl on;
    ssl_certificate path/to/1_www.momane.com_bundle.crt; # .cert 文件的路径
    ssl_certificate_key path/to/2_www.momane.com.key; # .key 文件的路径
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
    ssl_prefer_server_ciphers on;
    include enable-php.conf;
    root /path/to/momane.com; #网站文件目录
    index index.html index.htm index.php default.html default.htm default.php; #网站首页文件列表
    include wordpress.conf; #使用了wordpress,因此使用了lnmp的wordpress 路径重写配置
    error_page 404 /404.html;
    include enable-php.conf; #启用php

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires 30d;
    }

    location ~ .*\.(js|css)?$
    {
        expires 12h;
    }

    location ~ /\.
    {
        deny all;
    }
}

February 6th, 2017

Posted In: Internet

Leave a Reply

Your email address will not be published. Required fields are marked *