3.2 KiB
背景说明
a. 研究frps服务器的acme部署情况。
时隔久远,重新确认frps服务器的证书安装途径和现状。
b. 将gitea部署到现在frps的服务器上。
确认acme的状态
-
确认当前证书
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
-
确认自动更新
crontab -eo1 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
-
查找acme.sh文件
find / -name acme.sh
可以定位到当前服务器,这个文件位于:
/root/.acme.sh/acme.sh
这里要注意,ls是显示不出来.acme.sh的,可以直接cd .acme.sh
-
查看.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。
添加证书
-
申请安装证书。加--debug参数可以显示更多细节
acme.sh --debug --issue --dns dns_ali -d git.woyue.org -
安装完毕后,检验是否配置自动任务
crontab -e -
确认当前证书
acme.sh --list
安装证书
-
复制证书:
mkdir -p /srv/certbot/conf/live/git.woyue.orgacme.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。
-
生成: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。