所在位置:
首頁 >
營銷資訊 >
建站知識 > 分享:docker部署nginx-proxy-manager,圖形化管理nginx反向代理,實現(xiàn)不同子域名訪問
分享:docker部署nginx-proxy-manager,圖形化管理nginx反向代理,實現(xiàn)不同子域名訪問
時間:2023-02-10 23:15:02 | 來源:建站知識
時間:2023-02-10 23:15:02 來源:建站知識
背景:
家里之前有個QNAP 的NAS,2022年過年時候QNAP發(fā)布了漏洞聲明,建議純域名訪問NAS規(guī)避漏洞,這算是個契機,外加自己愛折騰,就將之前采用的、在路由器上使用不同端口映射各類服務(wù),改為nginx反代——統(tǒng)一訪問端口,但通過不同子域名訪問。這避免了IP直接訪問NAS的問題。做這個反代,還有個想法是把bitwarden在docker中也做起來,之前測試部署這個好像也需要反代。
搭建前提:
- 動態(tài)公網(wǎng)IP:電信寬帶可以申請ip v4的動態(tài)公網(wǎng)IP,打10000號申請,移動和聯(lián)通是不行的;
- DDNS(動態(tài)域名解析):我從阿里萬網(wǎng)上買的tech后綴的便宜域名,199買了10年的,配合軟路由上aliDDNS解析,或者部署aliddns的docker都可以實現(xiàn)動態(tài)域名解析。
- docker環(huán)境:群輝 NAS,QNAP NAS,或者linux系統(tǒng),ikuai/openwrt軟路由系統(tǒng)等,都可以安裝docker環(huán)境。推薦 NAS或者軟路由上安裝docker,圖形化界面方便部署和管理鏡像;
安裝步驟:
- docker中,下載鏡像:jlesage/nginx-proxy-manager
- 創(chuàng)建容器時,參考說明 jlesage/nginx-proxy-manager - Docker Image | Docker Hub ,映射下文件夾就好了。一般使用,這個文件夾映射都可以不做。
- 部署完畢后,訪問管理端口默認(rèn)部署的話 8181是管理端口,路由器上將外網(wǎng)映射到這個docker的4443端口,外網(wǎng)均采用https前綴訪問
端口映射- 訪問nginx管理地址進行反代配置,訪問地址是 http://dockerIP:8181。默認(rèn)賬號密碼是 admin@example.com 密碼是 changeme 登陸進去后修改郵箱和密碼,后續(xù)用新的郵箱和密碼登陸即可
- 進去后,先通過Let's Encrypt申請泛域名的證書,假設(shè)我的域名是 http://abc.com,那申請證書就使用*.http://abc.com 來申請,這樣后續(xù)任何子域名https訪問都是沒問題的了,例如 book.abc.com
證書申請1證書申請2- 這里有個小bug,申請界面會一直轉(zhuǎn)圈轉(zhuǎn)幾分鐘到超時,實際已經(jīng)申請成功了,F(xiàn)5刷新下界面,就可以考到類似上圖“證書申請1”中的泛域名證書了,這個證書給后面所有的子域名配置。docker作者的文檔提到證書在到期一個月前會自動續(xù)期,到時繼續(xù)觀察下這個流程是否絲滑。。
- 基礎(chǔ)準(zhǔn)備完后,就開始配置子域名的解析,在阿里云(或你的域名商)域名管理界面,將所有子域名都配置CNAME到根域名,例如http://book.abc.com就CNAME到http://abc.com
- 然后在nginx界面配置所需的子域名反代,就OK了
參考和其他說明:
- 除了阿里云買域名實現(xiàn)DDNS,騰訊云DNSPod買域名也可以實現(xiàn),只是我習(xí)慣了阿里云的DDNS,騰訊云詳見 使用docker搭建nginx proxy manager實現(xiàn)反向代理和SSL證書申請 - 嗶哩嗶哩 (bilibili.com)
- B站有Up主介紹nginx-proxy=manager這個應(yīng)用,有興趣可以聽聽前面的功能介紹,后面的要買VPS什么的沒必要,是另外個套路了,另外不建議在阿里云或騰訊云之外買域名,沒有現(xiàn)成的插件或者docker,DDNS估計都會很頭疼。【Docker系列】一個反向代理神器——Nginx Proxy Manager_嗶哩嗶哩_bilibili
- 這個應(yīng)用圖形化管理很方便,有個小坑建議填填,無需ssh工具,docker命令行界面進去修改proxy.conf文件即可,詳見:nginx-proxy-manager填坑
關(guān)鍵詞:實現(xiàn),代理,訪問,部署,圖形,管理