未分类

使用开源免费的https

thumbnail

2017年开始,chrome浏览器将在访问非https网站时提示不完全的警告

今天将介绍一个免费的开源https证书:Let’s Encrypt

安装步骤 (以centos7 + nginx为例)

首选解析域名到自己服务器,然后在服务器上执行以下命令(必须为当前域名解析服务器)

安装证书生成工具certbot

1
2
yum install certbot
certbot certonly

生成证书文件

每次生成证书有效期为90天,到期后需要执行续期操作

1
certbot certonly --standalone -d wangdong.io

如果有多个域名可以多次执行以上命令(替换网址即可)

生成证书目录为/etc/letsencrypt/live/当前域名/

1
2
ls /etc/letsencrypt/live/wangdong.io/
cert.pem chain.pem fullchain.pem privkey.pem

续期操作

需先关闭nginx服务,否则无法续期

1
certbot renew --quiet

配置服务器环境

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
40
server {
listen 443;
server_name wangdong.io;
root /var/www/html;

location / {
index index.html index.htm index.php;
try_files $uri $uri/ /index.php$is_args$args;
}

# 开启 ssl (其实实际是tls)
ssl on;
ssl_prefer_server_ciphers on;

# 支持的加密协议
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

# 支持的加密套件
ssl_ciphers HIGH:!RC4:!3DES:!aDSS:!aNULL:!kPSK:!kSRP:!MD5:@STRENGTH:+SHA1:+kRSA;

# 定义session缓存大小
ssl_session_cache shared:TLSSL:16m;

# 定义session过期时间
ssl_session_timeout 10m;

# https证书公钥
ssl_certificate /etc/letsencrypt/live/wangdong.io/fullchain.pem;

# https证书私钥 要注意保存!
ssl_certificate_key /etc/letsencrypt/live/wangdong.io/privkey.pem;

# 其他配置和http一样
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

好了,配置后重启nginx就可以通过https访问了

附:其他环境的配置方法

分享到