打造可視化Nginx反向代理服務器
由於內網環境下安裝了多種不同的WEB服務,為了方便公網使用域名訪問和支持HTTPS,常見的做法是在內網搭建一個Nginx服務進行,然後進行反向代理,從而實現服務集中、域名訪問和SSL證書部署。
但是手動配置Nginx可能會有些麻煩,容易出錯,而且對於新手來說不太友好。不過有了Nginx Proxy Manager,這個問題可以很輕鬆地解決。
關於Nginx Proxy Manager
Nginx Proxy Manager是一個基於Docker的輕量級、高性能的Web代理(同時也包括反向代理)和電子郵件代理。它具有用戶友好的界面,可以很容易地創建和管理Nginx代理主機。
他的特點包括:
簡易的用戶界面:對於不熟悉Nginx配置文件的用戶來說,Nginx Proxy Manager提供了一個直觀的界面,可以輕鬆地創建和管理Nginx代理主機。
SSL支持:Nginx Proxy Manager支持Let’s Encrypt,可以自動獲取和續訂SSL證書,保證通信的安全性。
支持Websockets:Nginx Proxy Manager完全支持Websockets,這是許多現代Web應用所需要的。
訪問控制:可以對訪問進行控制,例如,可以設置基本的HTTP認證,或者根據IP地址進行限制。
支持HTTP/2:Nginx Proxy Manager支持HTTP/2,可以提供更高的傳輸效率。
自定義Nginx配置:儘管Nginx Proxy Manager已經為大部分用途提供了默認的配置,但如果需要,還可以提供自定義Nginx配置。
Docker支持:Nginx Proxy Manager是基於Docker的,這意味著你可以在任何支持Docker的平台上運行它。
100%免費和開源:Nginx Proxy Manager是開源的,可以自由使用和修改。
總的來說,Nginx Proxy Manager是一個強大的工具,使得管理Nginx反向代理變得更加簡單,尤其適合不熟悉Nginx配置文件的用戶使用。
Docker-Compose安裝Nginx Proxy Manager
首先請確保您已經安裝Docker-Compose,然後創建一個目錄,用來保存Nginx Proxy Manager數據:
創建一個目錄
mkdir nginx
進入這個目錄
cd nginx
在剛剛創建的目錄下新建一個文件,命名為docker-compose.yaml,然後復制下面的內容進行保存。
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '880:80'
- '81:81'
- '8443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
880是nginx的HTTP端口,您可以根據自身情況修改
8443是nginx的HTTPS端口,您可以根據自身情況修改
81是Nginx Proxy Manager管理界面端口
然後使用命令docker-compose up -d啟動Nginx Proxy Manager,啟動成功後輸入http://IP:81打開Nginx Proxy Manager可視化(WEB)界面。
默認用戶名為:admin@example.com
默認密碼為:changeme
首次使用會要求修改郵箱、密碼等信息,請根據提示自行完成修改。
添加反向代理
打開導航欄的“Hosts – Proxy Hosts – Add Proxy Host”,輸入您的域名以及反代目標協議 + 目標IP + 目標端口,然後點SAVE保存。
再將您的域名解析到Nginx Proxy Manager所在服務器IP,這樣就可以通過http://你的域名:880進行訪問了(注意:我上面使用的HTTP端口是880)
部署SSL證書
Nginx Proxy Manager默認有提供“Let’s Encrypt” SSL證書,但實測國內因為X牆的原因,可能用不了。不過沒關係,Nginx Proxy Manager也支持添加自己申請的SSL證書。
打開導航欄的“SSL Certificates – Add SSL Certificate – Custom”
根據指示,填寫SSL證書名稱,和選擇私鑰文件和證書文件,然後點SAVE進行保存。
回到“Proxy Hosts”中,找到您之前添加的域名,然後進行修改。切換到“SSL”選項欄,選擇剛剛添加的自定義SSL證書,然後點保存就行了。
部署完畢後,我們再次訪問需要加上https協議,如果使用的非標準端口(443),還需要加上端口進行訪問,比如:https://你的域名:8443
升級Nginx Proxy Manager
由於使用的Docker-Compose部署,如果您需要升級Nginx Proxy Manager版本,也非常簡單,只需要執行下面的命令就行了:
拉取新的鏡像
docker-compose pull
重新啟動Nginx Proxy Manager
docker-compose up -d
其它
除了上面介紹的基本功能外,Nginx Proxy Manager還支持一些其它功能。比如:
自定義反向代理的配置,可滿足一些複雜的反向代理需求
支持Basic密碼驗證
支持IP訪問限制
支持Strem端口轉發
這些都可以直接通過WEB界面完成,非常方便,大家有興趣可以自行研究。
結語
Nginx Proxy Manager非常適合NAS用戶使用,有了Nginx Proxy Manager使得Nginx反向代理配置更加簡單,不論是新手還是老司機有了WEB界面的加持都能提高不少效率。