“trojan+Caddy”SSL证书自动续期的Caddyfile配置解决方案

【美博翻墙2021.3.8】美博已经发布了新版的【自建最强科学上网3+:trojan + Caddy(SSL证书自动续期)】,原因是 trojan + Caddy原方法SSL证书三个月到期后不能自动续期,导致trojan不能使用,需要手动重新过一遍原教程中申请证书的步骤。现在美博通过修改Caddyfile配置也能解决SSL自动续期的问题,本文是一些思路讨论,也请网友完善。

问题的起因

为什么trojan+Caddy会出现SSL证书三个月到期不能自动续期的问题,Caddy不是可以自动续期的吗?当初写trojan+Caddy这个教程时,对Caddy理解有限,以为申请证书后,Caddy内部已经可以自动完成续期,结果不是。

原因在于,trojan使用443端口,Caddy也使用443和80端口来申请证书和反代前端网页。所以,以前我们与网上其它很多方法的处理都是,Caddy申请完SSL证书后,就转为使用80端口,但是,问题就来了:Caddy在续期SSL证书时仍然要用到443端口,但这个已经为trojan占用。

目前采用的acme脚本续期办法

在使用一段时间trojan后,有些网友开始反馈SSL证书不能自动续期。

网上陆续有一些补救办法,基本上是采用另外安装 acme.sh 脚本自动续期ssl证书,这是最大宗,其次使用 Let's Encrypt SSL 证书官方推荐的 Certbot来续期,本质上还是acme。

这二种方法可行,续期没有问题,但是,美博在考虑一个问题:毕竟二者都是附加另外安装,相当于原本的Caddy+trojan,变成了Caddy+trojan+acme,当然没有单纯的Caddy+trojan好。

Caddy在trojan代理中所起作用一是前端网站反代,一个就是SSL申请和续期,如果Caddy失去了本身的这一大功能,要另外的acme来弥补,显然不完美。

从Caddyfile配置文件达成SSL自动续期当然是最好

美博最近有时间,遍历了网上有关Caddy+trojan不能自动续期的大量文献,基本上都是安装acme的方法来续期,也基本上没有一个从配置文件解决问题的完整代码。但是有2、3篇文章讨论到了如何修改配置的讨论,但是没有实例和完整代码,只是一些讨论看法,但是也很受启发。

后来逐渐思路就清晰了,应该是通过修改Caddyfile配置文件可以达成。

美博的思路是:

其实这里的焦点问题,还是trojan和Caddy的443端口冲突问题。

那么,我们丢掉以前Caddy使用443端口申请证书和续期的默认常规方法,想法用其他端口,这次更新教程中使用8080,让Caddy用这个专一端口来做SSL证书的事情,仍然让caddy转为监听80端口,让trojan使用443端口来处理各种流量来源,再通过转向将网页流量转到ssl。还好,神灵加持,第三次测试Caddy已经能正常使用,但trojan部份还有点问题,到第5次测试,就完美解决问题,一切OK,完整的代码如下:

https://sitedomain:8080 { #caddy的htpps改用8080,专门处理证书,默认的https端口443留给trojan
    tls xxxxxx@mail.com #你申请证书的信箱
    root /var/www/html
    gzip
    timeouts none
    log /var/log/caddy.log
}
http://sitedomain {  #Caddy将同时在端口80和专门的8080上侦听,
    root /var/www/html
    gzip
    log /var/log/caddy.log
}
:80 {
    redir https://sitedomain   #到端口80的流量重定向到端口443
}

注:sitedomain 为你的网站域名,8080可以改为任意未占用的端口

余下一个问题,就是多了一个8080端口,为了安全起见,这个8080并不需要外界访问,所以,最后在教程的UFW防火墙设置中增加一条规则,只允许8080作为内部发出请求,不许外部访问。

ufw allow from 127.0.0.1 to any port 8080

结语:

本讨论仅是美博提出的解决办法,完整教程【自建最强科学上网3+:trojan + Caddy(SSL证书自动续期)】也已经发布。

因为本方法的完整代码和实例为美博研究首创,是否完美,是否有考虑疏漏的地方,证书要三个月后才能知道是否真的有效,所以,请热心网友也来帮忙测试是否会自动续期,当然建立trojan代理一样是成功的。

同时,有了这个思路,V2Ray+trojan,V2Ray+NaiveProxy的共存,应该也容易解决,等有时间测试后再写新教程。

毕竟个人思路有限,若有问题或更好的解决办法,欢迎网友留言指正。

***
=== 自建最强代理 v2ray、trojan、NaiveProxy 系列文章参考 ===

自建最强科学上网3+:trojan + Caddy(SSL证书自动续期) - 美博园
关于v2fly(V2Ray)更新版本的提醒 - 美博园
自建最强科学上网5+:V2ray + Caddy + Tls + HTTP/2
自建最强科学上网2+:V2Ray + Caddy + Tls + WebSocket
自建最强科学上网4:NaiveProxy + Caddy
“trojan+Caddy”SSL证书自动续期的Caddyfile配置解决方案 - 美博园
美博点评:V2Ray、trojan、NaiveProxy代理的异同及相关问题 - 美博园
自己搭建代理服务器:VPS的选择 - 美博园
自己搭建代理服务器:Vultr VPS 购买图文教程 - 美博园
自己搭建代理服务器:Vultr VPS 系统安装图文教程 - 美博园
自己搭建代理服务器:检测ip是否被墙及更换ip - 美博园
自己搭建代理服务器:域名购买及设置与ip服务器关联 - 美博园
SSH连接软件-Xshell下载及使用教程 - 美博园
WinSCP:连接远端服务器的管理传输工具的使用教程 - 美博园
其它参考:
v2ray客户端代理上网 - Windows、Android、Mac、ios - 美博园
Let’s Encrypt 证书颁发的速率及次数限制 - 美博园
Let's Encrypt SSL 证书安装不了的若干问题解决 - 美博园
如何开启Google TCP BBR 加速 - 美博园
V2ray自建代理遇到的一些问题及解决 - 美博园
原文链接:https://allinfa.com/zh-cn/trojan-caddy-auto-ssl-caddyfile.html
原文标题:“trojan+Caddy”SSL证书自动续期的Caddyfile配置解决方案 - 美博园
本文 TinyURL 短网址: https://tinyurl.com/ybcsrx6x
本文 is.gd 短网址: https://is.gd/XkzqYM
美博园文章均为“原创 - 首发”,请尊重辛劳撰写,转载请以上面完整链接注明来源!
软件版权归原作者!个别转载文,本站会注明为转载。

这里是你留言评论的地方


请留言


2 + 9 =
【您可以使用 Ctrl+Enter 快速发送】
Copyright © 2007 - 2021 , Design by 美博园. 版权所有. 若有版权问题请留言通知本站管理员. 【回到顶部】