跳到主要内容

站点加载SSL证书

已拥有证书处理方法:

前提: 通过腾讯云申请免费证书

frappe@e8811978c502:~/frappe-bench$ bench config dns_multitenant on
INFO: A newer version of bench is available: 5.16.2 → 5.17.2

frappe@e8811978c502:~/frappe-bench/sites/xujinxin.local$ bench setup add-domain --site xujinxin.local --ssl-certificate /etc/nginx/ssl/ybk.xx.cn.pem --ssl-certificate-key /etc/nginx/ssl/ybk.xx.cn.key ybk.xx.cn
INFO: A newer version of bench is available: 5.16.2 → 5.17.2

frappe@e8811978c502:~/frappe-bench/sites$ bench setup nginx
nginx.conf already exists and this will overwrite it. Do you want to continue? [y/N]: y
INFO: A newer version of bench is available: 5.16.2 → 5.17.2

可以通过如下方式查看nginx的配置以及快速启用配置:

frappe@e8811978c502:~/frappe-bench$ sudo service nginx reload
* Reloading nginx configuration nginx [fail]
frappe@e8811978c502:~/frappe-bench$ sudo nginx -t
nginx: [emerg] unknown log format "main" in /etc/nginx/conf.d/frappe-bench.conf:100
nginx: configuration file /etc/nginx/nginx.conf test failed

配置之后可以查看站点的ssl证书配置:

frappe@e8811978c502:~/frappe-bench/sites/xujinxin.local$ cat site_config.json 
{
"db_name": "_af1f067f2f1d3d17",
"db_password": "WSvkVxpWhDhVPdA6",
"db_type": "mariadb",
"developer_mode": 1,
"encryption_key": "FMAfmjXRyxxxx=",
"ignore_csrf": 1,
"allow_cors": "*",
"domains": [
{
"domain": "ybk.xx.cn",
"ssl_certificate": "/etc/nginx/ssl/ybk.xx.cn.pem",
"ssl_certificate_key": "/etc/nginx/ssl/ybk.xx.cn.key"
}
]
}

nginx的config frappe-bench.conf文件也会自动生成:

frappe@e8811978c502:/etc/nginx/conf.d$ pwd
/etc/nginx/conf.d
frappe@e8811978c502:/etc/nginx/conf.d$ ls -la
total 20
drwxr-xr-x 1 root root 116 Oct 9 11:46 .
drwxr-xr-x 1 root root 31 Oct 17 21:01 ..
lrwxrwxrwx 1 root root 43 Mar 21 2023 frappe-bench.conf -> /home/frappe/frappe-bench/config/nginx.conf
-rw-r--r-- 1 root root 1561 Sep 29 22:09 jinxin.conf
-rw-rw-rw- 1 root root 1021 Oct 8 18:03 jinxin.dev.conf
-rw-r--r-- 1 root root 492 Jun 25 14:05 test-vite.conf
-rw-r--r-- 1 root root 497 Sep 5 14:51 xiaofeng.conf
-rw-r--r-- 1 frappe frappe 665 Oct 9 13:24 xiaofeng.dev.conf

附注: 当然, 如果要删除这个ssl的配置, 也可以通过如下命令重新生成。

frappe@e8811978c502:~/frappe-bench$ bench config dns_multitenant off
frappe@e8811978c502:~/frappe-bench/sites$ bench setup nginx

一点体会:

配置的过程其实蛮烦的, 后续我的实际作业环节, 基本不再按照这个frappe 的官方ssl的配置。 而是通过 cloudflare 做内网穿透。 因为在这个穿透过程中,cloudflare会帮我生成一个证书。减少了我的很多的工作。