* [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
2.9 KiB
Executable file
2.9 KiB
Executable file
通过 Let's Encrypt 配置 HTTPS
必备条件
- 你需要有 DNS 多租户 (Multitenant) 设置
- 你的网站应可通过有效的域名访问
- 你需要服务器的 root 权限
注意 : Let's Encrypt 证书将每三个月到期
使用 Bench 命令
运行:
sudo -H bench setup lets-encrypt [site-name]
您将碰到几个提示,请做出相应地回应。该命令还会向用户的 crontab 添加一个任务,每月尝试更新证书。
自定义域名
你还可以为自定义域名设置 Let's Encrypt。使用 --custom-domain 选项即可
sudo -H bench setup lets-encrypt [site-name] --custom-domain [custom-domain]
刷新证书
你可以使用以下命令手工刷新证书:
sudo bench renew-lets-encrypt
手工方式
下载适当的 Certbot-auto 脚本到 /opt 目录中
https://certbot.eff.org/
停止 nginx 服务
$ sudo service nginx stop
运行 Certbot
$ ./opt/certbot-auto certonly --standalone
在 letsencrypt 初始化后,将提示你输入一些信息。取决于你之前是否使用了 Let's Encrypt,这个提示可能会有所不同,但我们会第一时间指导你完成。
在提示中,输入用于通知、以及恢复丢失密钥的电子邮件地址:
你必须同意 Let's Encrypt 的订阅协议,选择同意:

然后输入你的域名。注意,如果你希望把一个证书用到多个域名上 (例如 example.com、www.example.com) ,确保像如下那样全部包含它们:
证书文件
获得证书后,你将拥有以下 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

