「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-tw/trojan-caddy-auto-ssl-caddyfile.html
原文標題:「trojan+Caddy」SSL證書自動續期的Caddyfile配置解決方案 - 美博園
美博園文章均為「原創 - 首發」,請尊重辛勞撰寫,轉載請以上面完整鏈接註明來源!
軟體著作權歸原作者!個別轉載文,本站會註明為轉載。

這裡是你留言評論的地方


請留言


8 + 8 =
【您可以使用 Ctrl+Enter 快速發送】
Copyright © 2007 - 2022 , Design by 美博園. 著作權所有. 若有著作權問題請留言通知本站管理員. 【回到頂部】