获取SSL证书

阿里云和腾讯云每年有20个免费证书额度,不过每个证书只有一年有效期。 登录腾讯云控制台-SSL证书 域名验证方式选择 手动DNS验证 复制红框内容并添加到域名解析 解析后完成创建,大概1分钟证书就签发下来了。 点击右侧下载,选择Nginx 下载会得到一个带着域名的压缩文件,解压它 里面包含.csr .key .crt .pem四个后缀的文件

配置SSL证书

宝塔面板

以记事本方式打开.key .pem文件 登录宝塔面板-网站-网站名-你的域名 将两个文件里面的内容复制到分别复制到密钥和证书处,保存。

Typecho

打开WinSCP或者其他FTP软件登录到服务器 将.crt .key证书上传到/usr/local/lighthouse/softwares/nginx/conf (这里做的时候忘记截图了😭) 编辑/usr/local/lighthouse/softwares/nginx/conf/include/typecho.conf 将前面的server { 替换成

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
server {
    #禁止通过ip访问http
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;
    return 444;
}
server {
    #禁止通过ip访问https
    listen 443 ssl default_server;
    listen [::]:443 ssl default_server;
    #ssl on;
    ssl_certificate /1.crt; 
    ssl_certificate_key /1.key; 
    server_name _;
    return 444;
}
server {
    listen 80;
    #填写绑定证书的域名
    server_name klyang.com; 
    rewrite ^(.*) https://$server_name$1 permanent;
}
server {
    listen 443 ssl;
    #填写绑定证书的域名
    server_name klyang.com;
    #填写证书文件的路径
    ssl_certificate /usr/local/lighthouse/softwares/nginx/conf/klyang.com_bundle.crt; 
    #填写私钥文件的路径
    ssl_certificate_key /usr/local/lighthouse/softwares/nginx/conf/klyang.com.key; 
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    location / {
    #网站主页路径。例如,你的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 /usr/local/lighthouse/softwares/typecho 为 /etc/www。
    root /usr/local/lighthouse/softwares/typecho;
    index index.php index.html;    }

复制后记得将klyang.com替换成你的域名!

保存后使用PuTTY工具登录服务器,输入以下命令

1
cd /usr/local/lighthouse/softwares/nginx/sbin
1
./nginx -s reload

再次使用域名访问时,SSL证书就已经启用啦,并且http自动跳转为https。