seitime-frappe/frappe/docs/user/zh/bench/guides/lets-encrypt-ssl-setup.md
Loocor c43d1fac59 frappe chinese document translation plan (#4689)
* [add] Chinese documents init.

* Videos chinese document translated

* Bench chinese documents translated half

* Bench chinese documents translated

* Fixed several mistakes for bench guides

* Frappé Tutorial chinese version in translation
2018-01-23 14:50:46 +05:30

100 lines
2.9 KiB
Markdown
Executable file
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 通过 Let's Encrypt 配置 HTTPS
## 必备条件
1. 你需要有 DNS 多租户 (Multitenant) 设置
2. 你的网站应可通过有效的域名访问
3. 你需要服务器的 root 权限
**注意 : Let's Encrypt 证书将每三个月到期**
## 使用 Bench 命令
运行:
sudo -H bench setup lets-encrypt [site-name]
您将碰到几个提示,请做出相应地回应。该命令还会向用户的 crontab 添加一个任务,每月尝试更新证书。
### 自定义域名
你还可以为[自定义域名](adding-custom-domains.html)设置 Let's Encrypt。使用 `--custom-domain` 选项即可
sudo -H bench setup lets-encrypt [site-name] --custom-domain [custom-domain]
### 刷新证书
你可以使用以下命令手工刷新证书:
sudo bench renew-lets-encrypt
<hr>
## 手工方式
### 下载适当的 Certbot-auto 脚本到 /opt 目录中
https://certbot.eff.org/
### 停止 nginx 服务
$ sudo service nginx stop
### 运行 Certbot
$ ./opt/certbot-auto certonly --standalone
在 letsencrypt 初始化后,将提示你输入一些信息。取决于你之前是否使用了 Let's Encrypt这个提示可能会有所不同但我们会第一时间指导你完成。
在提示中,输入用于通知、以及恢复丢失密钥的电子邮件地址:
![](https://assets.digitalocean.com/articles/letsencrypt/le-email.png)
你必须同意 Let's Encrypt 的订阅协议,选择同意:
![](https://assets.digitalocean.com/articles/letsencrypt/le-agreement.png)
然后输入你的域名。注意,如果你希望把一个证书用到多个域名上 (例如 example.com、www.example.com) ,确保像如下那样全部包含它们:
![](https://assets.digitalocean.com/articles/letsencrypt/le-domain.png)
### 证书文件
获得证书后,你将拥有以下 PEM 编码的文件:
* **cert.pem**: 你的域名证书
* **chain.pem**: Let's Encrypt 链证书
* **fullchain.pem**: 合并的 cert.pem 和 chain.pem
* **privkey.pem**: 你的证书私钥
这些证书文件保存在 `/etc/letsencrypt/live/example.com` 文件夹
### 为你的站点配置证书
转到你的 erpnext 站点 site_config.json
$ cd frappe-bench/sites/{{site_name}}
添加以下两行到你的 site_config.json 文件中
"ssl_certificate": "/etc/letsencrypt/live/example.com/fullchain.pem",
"ssl_certificate_key": "/etc/letsencrypt/live/example.com/privkey.pem"
重新生成 Nginx 配置
$ bench setup nginx
重启 Nginx 服务
$ sudo service nginx restart
---
### 自动更新 (实验功能)
以 root 或拥有 superuser 权限的用户身份登录,运行 `crontab -e` 并输入:
# 每月第一个周一刷新 letsencrypt 证书,如果执行完成后将收到邮件提示
MAILTO="mail@example.com"
0 0 1-7 * * [ "$(date '+\%a')" = "Mon" ] && sudo service nginx stop && /opt/certbot-auto renew && sudo service nginx start