Nginx Proxy Manager 基於 Nginx 的一個非常好用的反向代理工具,擁有圖形界面,可以肯方便的為無法設置 SSL 的應用添加反向代理
# 安裝 Nginx Proxy Manager
官方提供了 docker 鏡像,安裝起來非常簡單
拉取 Nginx Proxy Manager 官方的 docker 鏡像
docker pull jc21/nginx-proxy-manager |
啟動 Nginx Proxy Manager 容器
docker run -d \ | |
--name=nginx-proxy-manager \ | |
-p 81:81 \ | |
-p 80:80 \ | |
-p 443:443 \ | |
jc21/nginx-proxy-manager |
81 : Nginx Proxy Manager 管理頁面的連接埠,使用瀏覽器打開 http://IP:81 即可進入80 : http 連接埠443 : https 連接埠
安裝就這麼簡單
記得在防火牆放行相應的連接埠
# Nginx Proxy Manager 管理
默認賬戶 admin@example.com
默認密碼 changeme
第一次登錄會要求進行一些簡單的設置,包括更改賬戶和密碼
# 上傳證書
由於沒有獨立 IP,並且 Nginx Proxy Manager 還未支援 Let's Encrypt 使用 DNS 驗證,所以只能將手動申請證書並上傳,至於如何手動申請證書這裡不做討論
選擇上方的
SSL Certificates,再點選下方的Add Certificates,之後選擇Custom![01]()
選擇並上傳證書
Name: 這個隨意,用於自己識別而已,必填Certificate Key: 證書密鑰,必填Certificate: 證書,必填Intermediate Certificate: CA 證書,選填
選擇好後按Save保存![02]()
# 設置反向代理
進入 Nginx Proxy Manager 主頁面,選擇
Proxy Hosts![03]()
填寫相關資訊
Domain Names: 填寫需要反代的域名Scheme: 選擇來源的協議Forward Hostname / IP: 填寫來源的主機名或 IPForward Port: 填寫來源的連接埠Cache Assets: 是否啟用緩存Block Common Expoits: 阻止常見的漏洞Websockets Support: 是否支援 WebsocketsAccess List: 權限列表選擇,可以給反代的網頁設置賬戶密碼,驗證通過後才能正常打開
建議將 Websockets Support 和 Block Common Expoits 開啟, Cache Assets 按需求選擇是否啟用
- 選擇 SSL 證書
點擊SSL選項,在SSL Certificate中選擇使用的證書Force SSL: 強制啟用 SSLHTTP/2 Support: 支援 HTTP/2HSTS Enable: 啟用 HSTSHSTS Subdomains: 支援 HSTS 子域
都是提高安全性的,全部啟用不會出現問題那就全部啟用![05]()
填寫好後記得按 Save 保存
# 重定向
從一個域名轉跳到另一個域名,跟設置反代相似
# 連接埠轉發
將 TCP 或 UDP 數據包(需要開啟 UDP 支援)全部轉發出去,跟設置反代相似
# 404 頁面
將域名的訪問導向一個 404 或其他頁面,跟設置反代相似
# 設置權限列表(權限驗證)
進入 Nginx Proxy Manager 主頁面,選擇
Access List,再點選Add Access List![09]()
Details
填寫權限列表的名稱Satisfy Any: 相當於啟用或關閉Pass Auth Host: 將驗證傳遞給後方的主機,按需求開啟![10]()
Authorization
設置用於驗證使用的賬戶名和密碼![11]()
Access
allow: 相當於白名單,在此填入的 IP 段都不需要驗證即可直接訪問deny: 相當於黑名單,在此填入的 IP 段都需要驗證![12]()
只對獨立 IP 生效,對私有 IP 無效







