-
Notifications
You must be signed in to change notification settings - Fork 0
78让站点使用https安全加密访问
supperxin edited this page Aug 18, 2017
·
1 revision
站点使用https,需要2个步骤:
- 申请证书
- 配置代理服务器使用证书
证书的申请有两种途径:
- 找专门的证书颁发机构购买证书,优点是证书的有效时间长,一般以年为单位,缺点是需要付费
- Let’s Encrypt申请免费的证书,优点是免费,缺点是有效时间只有3个月,但是可以无限续期。
使用Let’s Encrypt申请免费证书
有多种途径通过Let’s Encrypt来生成证书,可以在这个列表看到:
下面是使用ZeroSSL在线生成证书的步骤:
- 生成 Account key 和 domain 生成证书请求
进入https://zerossl.com/free-ssl/#crt,分别输入 email 和 domain(多个domain用空格隔开),选中Accept ZeroSSL TOS和Accept Let's Encrypt SA (pdf),点击两次Next,可以得到 account key 和 domain.csr
图片:
- 验证domain所有权
有http方式或者DNS解析两种方式来验证domain所有权,这里推荐使用DNS方式,直接在DNS解析上添加txt的记录即可:
图片:
添加好之后,等待几分钟,点击Next完成验证
- 查看和下载证书
第2步完成之后会生成证书和私钥,将其下载保存起来。
在Nginx的配置文件添加如下内容:
server {
listen 443;
server_name www.supperxin.com;
ssl on;
ssl_certificate /data/crt/server.crt;
ssl_certificate_key /data/crt/server.key;
location /{
proxy_pass https://web:5002;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location ~ .*\.(js|css|ico|png|jpg|eot|svg|ttf|woff)$ {
proxy_pass http://web:5002;
proxy_set_header Host $host;
expires 30d;
}
}
配置好之后,网站就可以通过https加密访问了。