前言目前家里設(shè)備越來越多,而每個設(shè)備很多服務(wù)或者應(yīng)用端口又是重復(fù)的,每個都去做映射真的太麻煩。再加上極空間以及綠聯(lián)本身并沒有反代服務(wù)器,在外往下我想要訪問http服務(wù)也挺麻煩的。于是乎想著使用npm來進行二級域名的設(shè)置,達到使用二級域名來區(qū)別不同設(shè)備和不同服務(wù)。 部署這里我用到綠聯(lián)部署,首先需要在綠聯(lián)的docker文件夾中新建一個文件夾命名為nginx-proxy-manager。 隨后我們在綠聯(lián)的docker UI界面搜索jlesage/nginx-proxy-manager并下載。 容器下載完成后轉(zhuǎn)到本地鏡像進行創(chuàng)建,將容器的權(quán)限全開放置容器因為沒有權(quán)限無法運行或者反復(fù)重啟的現(xiàn)象。隨后將映射文件夾路徑設(shè)置為/config。(記得要選上讀寫哦?。?/p> 最后映射端口,4443為https協(xié)議,8080為http協(xié)議,8181則為項目的后臺管理地址。這里我們只需要映射4443和8181就行,當(dāng)然你也可以選擇全部映射。 所有設(shè)置好之后便可以啟動容器了。 二級域名設(shè)置啟動容器之后便可以通過http://綠聯(lián)ip+管理端口訪問到項目后臺了。初始賬號密碼為admin@example.com密碼changeme,登錄后我們需要設(shè)置郵箱以及重新設(shè)置密碼。(看不懂可以用到網(wǎng)頁翻譯哦) 登錄后我們點擊頂部第四個SSL Certificates,隨后選擇添加證書用于訪問https協(xié)議網(wǎng)址。 隨后我們輸入自己的域名與郵箱后選擇dns解析提供者,我這里用到的為騰訊云,所以選擇為DNSpod,當(dāng)然你可以從下拉菜單中選擇阿里等其他域名提供商。選好之后再填寫好appid和key。 我這里以騰訊云為例子,id與key在登錄騰訊云后臺后點擊自己頭像,再點擊API秘鑰。 隨后點擊DNSpod token,點擊新建后記錄下id與token的值,這個值只會顯示在創(chuàng)建的第一次,后面便不會再明文顯示了,所以需要記錄好。 將id與值復(fù)制到上面的證書注冊界面后點擊save,能看到會一直轉(zhuǎn)圈,等待片刻就能看到證書注冊成功了。 最后點擊Proxy Hosts來設(shè)置代理規(guī)則。 一樣的點擊右邊的新增,這里我們需要設(shè)置二級域名、內(nèi)網(wǎng)ip地址以及內(nèi)網(wǎng)的端口號。 設(shè)置好之后選擇ssl,選擇剛剛申請的證書,隨后點擊save。 代理的設(shè)置項就完成了,此時我們依然是不能訪問的,還需要在路由器中將npm的https端口進行轉(zhuǎn)發(fā)。這里我以華碩路由器為例子,將4443端口轉(zhuǎn)發(fā)。 最后還需要在騰訊云中將二級域名進行解析,主機記錄填二級域名的名稱,記錄類型選擇CNAME,記錄值為你的主域名地址。 體驗隨后就緒之后你便可以通過二級域名加上端口號的方式進行訪問了。例如我這樣: 當(dāng)然你還可以通過添加多了二級域名來設(shè)置不同的服務(wù),你可以通過二級域名的名稱來區(qū)分這些服務(wù),例如我這樣: 總結(jié)只需要一個端口便可以將所有服務(wù)映射到公網(wǎng),這樣免去了一個一個設(shè)置端口的麻煩,同時也可以通過不同服務(wù)的命名來區(qū)分不同的服務(wù),例如你可以將emby直接命名為emby.頂級域名.com這樣的形式,更加方便記錄。 |
|