118 lines
3.2 KiB
Markdown
118 lines
3.2 KiB
Markdown
## 背景说明
|
||
|
||
a. 研究frps服务器的acme部署情况。
|
||
|
||
时隔久远,重新确认frps服务器的证书安装途径和现状。
|
||
|
||
b. 将gitea部署到现在frps的服务器上。
|
||
|
||
## 确认acme的状态
|
||
|
||
1. 确认当前证书
|
||
|
||
`acme.sh --list`
|
||
|
||
[root@ngork ~]# acme.sh --list
|
||
Main_Domain KeyLength SAN_Domains CA Created Renew
|
||
dev.woyue.org "" *.dev.woyue.org ZeroSSL.com Sat Sep 18 16:42:15 UTC 2021 Wed Nov 17 16:42:15 UTC 2021
|
||
|
||
2. 确认自动更新
|
||
|
||
`crontab -e`
|
||
|
||
o1 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
|
||
|
||
3. 查找acme.sh文件
|
||
|
||
`find / -name acme.sh`
|
||
|
||
可以定位到当前服务器,这个文件位于:
|
||
|
||
/root/.acme.sh/acme.sh
|
||
|
||
这里要注意,ls是显示不出来.acme.sh的,可以直接cd .acme.sh
|
||
|
||
4. 查看.acme.sh目录下的内容
|
||
|
||
[root@ngork .acme.sh]# ls -l
|
||
total 240
|
||
-rw-r--r-- 1 root root 315 Sep 19 00:42 account.conf
|
||
-rwxr-xr-x 1 root root 205958 Jul 20 11:50 acme.sh
|
||
-rw-r--r-- 1 root root 78 May 17 2020 acme.sh.csh
|
||
-rw-r--r-- 1 root root 78 May 17 2020 acme.sh.env
|
||
drwxr-xr-x 4 root root 4096 Jul 20 11:50 ca
|
||
drwxr-xr-x 2 root root 4096 Jul 20 11:50 deploy
|
||
drwxr-xr-x 3 root root 4096 May 19 2020 dev.woyue.org
|
||
drwxr-xr-x 2 root root 4096 Jul 20 11:50 dnsapi
|
||
-rw-r--r-- 1 root root 252 Oct 27 00:41 http.header
|
||
drwxr-xr-x 2 root root 4096 Jul 20 11:50 notify
|
||
|
||
其中,account.conf中有阿里云的具有DNS操作权限的账户的key和secret。
|
||
|
||
## 添加证书
|
||
|
||
1. 申请安装证书。加--debug参数可以显示更多细节
|
||
|
||
`acme.sh --debug --issue --dns dns_ali -d git.woyue.org`
|
||
|
||
2. 安装完毕后,检验是否配置自动任务
|
||
|
||
`crontab -e`
|
||
|
||
3. 确认当前证书
|
||
|
||
`acme.sh --list`
|
||
|
||
## 安装证书
|
||
|
||
1. 复制证书:
|
||
|
||
`mkdir -p /srv/certbot/conf/live/git.woyue.org`
|
||
|
||
`acme.sh --installcert -d git.woyue.org \
|
||
--key-file /srv/certbot/conf/live/git.woyue.org/privkey.pem \
|
||
--fullchain-file /srv/certbot/conf/live/git.woyue.org/fullchain.pem \
|
||
--reloadcmd "docker restart nginx_nginx_1"`
|
||
|
||
注意,最后的nginx_nginx_1或nginx_server为nginx容器的名称。请根据实际情况修改。**或不加此参数,手动重启nginx**。
|
||
|
||
2. 生成:dhparams文件
|
||
|
||
`openssl dhparam -out /srv/certbot/conf/ssl-dhparams.pem 2048`
|
||
|
||
## 使用证书
|
||
|
||
例如,要使用上述证书,则nginx的docker对应etc/letsencrypt的目录就是/srv/certbot/conf。比如说,conf文件里引用的密钥文件路径为:
|
||
|
||
ssl_certificate /etc/letsencrypt/live/git.woyue.org/fullchain.pem
|
||
|
||
那么,docker mount的路径就应该是:-v /srv/certbot/conf:/etc/letsencrypt
|
||
|
||
为此,检查一下当前的nginx的volume:
|
||
|
||
`docker inspect nginx_nginx_1`
|
||
|
||
能看到:
|
||
|
||
......
|
||
|
||
"Mounts": [
|
||
......
|
||
{
|
||
"Type": "bind",
|
||
"Source": "/srv/certbot/conf",
|
||
"Destination": "/etc/letsencrypt",
|
||
"Mode": "rw",
|
||
"RW": true,
|
||
"Propagation": "rprivate"
|
||
},
|
||
|
||
......
|
||
|
||
可见,当前的nginx docker实例配置已经满足要求。
|
||
|
||
## 后续
|
||
|
||
参看Gitea项目的Readme。
|
||
|