Nginx Proxy Manager輕松搭建反向代理的實(shí)現(xiàn)
在現(xiàn)代網(wǎng)絡(luò)環(huán)境中,越來越多的服務(wù)需要在同一個服務(wù)器上運(yùn)行,如何合理地管理這些服務(wù),并確保它們能夠安全高效地互通,是許多站長和開發(fā)者面臨的難題。Nginx Proxy Manager(簡稱 NPM)正是為了解決這個問題而生,它提供了一個簡單、直觀的界面來管理反向代理和 SSL 證書配置,使得網(wǎng)站、應(yīng)用的反向代理設(shè)置更加輕松。
一、什么是 Nginx Proxy Manager?
Nginx Proxy Manager(NPM)是一款功能強(qiáng)大且易于使用的開源工具,旨在簡化 Nginx 反向代理的配置和管理。它提供了一個用戶友好的 Web 界面,讓您無需深入了解 Nginx 配置文件,就能輕松地搭建和管理多個反向代理。NPM 尤其適合那些希望快速搭建高性能、安全的反向代理,但又不想花費(fèi)大量時間學(xué)習(xí) Nginx 配置的開發(fā)者和運(yùn)維人員。
二、為什么選擇 Nginx Proxy Manager?
- 直觀的 Web 界面: 提供了一個可視化的界面,讓您通過簡單的點(diǎn)擊和配置來管理反向代理,無需編寫復(fù)雜的 Nginx 配置文件。
- 強(qiáng)大的功能: 支持多種代理協(xié)議(HTTP、HTTPS、WebSocket 等)、負(fù)載均衡、SSL 證書管理、訪問控制等。
- 自動化的 SSL 證書管理: 內(nèi)置了對 Let’s Encrypt 的支持,可以自動申請、配置和更新 SSL 證書,確保您的網(wǎng)站始終保持 HTTPS 安全。
- 靈活的配置選項(xiàng): 提供了豐富的配置選項(xiàng),可以滿足各種復(fù)雜的代理需求,例如自定義域名、重定向、錯誤頁面等。
- 社區(qū)支持: 擁有一個活躍的社區(qū),提供豐富的文檔、教程和示例配置,方便用戶學(xué)習(xí)和交流。
- 開源免費(fèi): 完全開源,您可以自由地使用、修改和分發(fā)。
三、Nginx Proxy Manager 的核心功能
- 反向代理: 將多個后端服務(wù)(如 Web 服務(wù)器、API 服務(wù))統(tǒng)一暴露給外界,通過一個域名訪問多個服務(wù)。
- 負(fù)載均衡: 將請求分發(fā)到多個后端服務(wù)器,提高系統(tǒng)性能和可用性。
- SSL 證書管理: 自動申請、配置和更新 Let’s Encrypt 證書,確保網(wǎng)站的安全。
- 訪問控制: 通過 IP 白名單、黑名單、基本認(rèn)證等方式控制對服務(wù)的訪問。
- 自定義配置: 對于有特殊需求的用戶,可以手動編輯 Nginx 配置文件。
- 監(jiān)控和日志: 提供基本的監(jiān)控和日志功能,幫助您了解系統(tǒng)運(yùn)行狀況。
四、如何使用 Nginx Proxy Manager?
1、安裝 docker 環(huán)境
在開始之前,請確保你的系統(tǒng)已經(jīng)安裝了 Docker。如果還沒有安裝 Docker,請按照以下步驟進(jìn)行安裝:
- 安裝 Docker(適用于 Linux 系統(tǒng))
curl -fsSL https://get.docker.com | sh
- 啟動 Docker 服務(wù)
systemctl start docker
- 如果是 CentOS 系統(tǒng),Docker 安裝后不會默認(rèn)開機(jī)自啟,需要手動設(shè)置:
systemctl enable docker
- 驗(yàn)證 Docker 是否安裝成功
docker --version
如果返回 Docker 的版本號,則說明 Docker 安裝成功。
2、安裝 Nginx Proxy Manager
- 創(chuàng)建文件
mkdir -p /home/docker/npm
- 進(jìn)入目錄
cd /home/docker/npm
- 打開配置文件
vim docker-compose.yml
- 添加內(nèi)容,修改完配置文件,按下 i 進(jìn)入編輯狀態(tài),按下 Esc 鍵退出編輯狀態(tài),按下 :wq 保存退出
services:
app:
image: 'docker.io/jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- /home/docker/npm/data:/data
- /home/docker/npm/letsencrypt:/etc/letsencrypt
- 啟動 Nginx Proxy Manager 的 Docker 容器,同時將 80 和 443 端口暴露到外網(wǎng),端口 81 用于訪問 Nginx Proxy Manager 的管理界面

訪問管理界面:安裝完成后,打開瀏覽器,訪問 http://your_ip:81(假設(shè)您的服務(wù)器 IP 地址為 your_ip)。第一次登錄時,默認(rèn)的用戶名是 admin@example.com,密碼是 changeme,您可以在第一次登錄后修改密碼。
3、配置反向代理
一旦成功登錄,您就可以開始配置反向代理了。
添加代理主機(jī):
在管理界面,點(diǎn)擊 “Proxy Hosts” 菜單

點(diǎn)擊右上角的“Add Proxy Host”按鈕

在彈出的窗口中,輸入您的域名(如 www.yourdomain.com)以及該域名對應(yīng)的服務(wù)器地址(如 http://localhost:8080)

選擇是否啟用 SSL,您可以選擇自動申請 Let’s Encrypt 的證書,或者使用自己的 SSL 證書

配置 SSL 證書
如果您選擇了使用 SSL,Nginx Proxy Manager 會自動申請免費(fèi)的 Let’s Encrypt 證書,您只需勾選“Force SSL”來強(qiáng)制所有流量通過 HTTPS 訪問

證書生成完成后,Nginx Proxy Manager 會自動為您配置 HTTPS 設(shè)置,保證您的網(wǎng)站訪問安全。
高級設(shè)置
您可以在 “Advanced” 選項(xiàng)卡中配置更多高級選項(xiàng),如 WebSocket 支持、訪問控制、重定向規(guī)則等。
4、管理 SSL 證書
Nginx Proxy Manager 支持自動申請和續(xù)期 SSL 證書。對于您添加的每個代理主機(jī),您都可以輕松地管理其 SSL 證書:
- 自動申請:點(diǎn)擊代理主機(jī)設(shè)置中的 “SSL” 選項(xiàng)卡,勾選 “Request a new SSL certificate” 選項(xiàng),系統(tǒng)會自動為您的域名申請證書。
- 證書續(xù)期:Let’s Encrypt 的證書有效期為 90 天,但 Nginx Proxy Manager 會自動處理續(xù)期,無需手動干預(yù)。
5、管理 SSL 證書
Nginx Proxy Manager 還提供了簡單的訪問控制功能:
- 基本身份驗(yàn)證:您可以為某些代理主機(jī)啟用基本身份驗(yàn)證,要求訪問者提供用戶名和密碼才能訪問相關(guān)服務(wù)。
- IP 白名單/黑名單:您可以設(shè)置允許或拒絕某些 IP 地址訪問特定的反向代理,進(jìn)一步提升服務(wù)的安全性。
五、總結(jié)
Nginx Proxy Manager 是一個強(qiáng)大且易于使用的工具,它使得配置反向代理、管理 SSL 證書、設(shè)置訪問控制等變得非常簡單。無論是對初學(xué)者還是有經(jīng)驗(yàn)的開發(fā)者,Nginx Proxy Manager 都是一個理想的解決方案。如果您正在尋找一個快速、簡潔的方式來管理和優(yōu)化您的網(wǎng)絡(luò)服務(wù),Nginx Proxy Manager 無疑是一個值得嘗試的工具。
到此這篇關(guān)于Nginx Proxy Manager輕松搭建反向代理的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Nginx Proxy Manager反向代理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Nginx服務(wù)器的反向代理proxy_pass配置方法講解
- Nginx代理proxy pass配置去除前綴的實(shí)現(xiàn)
- nginx 反向代理之 proxy_pass的實(shí)現(xiàn)
- nginx配置中proxy_pass反向代理502的bug記錄
- nginx配置proxy_pass代理轉(zhuǎn)發(fā)時報(bào)404問題
- nginx反向代理proxy_pass遇到的死循環(huán)問題
- nginx代理參數(shù)proxy_pass的實(shí)現(xiàn)
- Nginx?反向代理緩存(proxy_cache)的實(shí)現(xiàn)
- nginx反向代理proxy_set_header
- Nginx Proxy 代理測試的實(shí)現(xiàn)
相關(guān)文章
Nginx如何實(shí)現(xiàn)pathinfo模式的方法詳解
pathinfo是偽靜態(tài)的一種,對于用過thinkphp的朋友們來說應(yīng)該都不陌生,下面這篇文章主要給大家介紹了關(guān)于Nginx如何實(shí)現(xiàn)pathinfo模式的方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2017-09-09
nginx?Rewrite重寫地址的實(shí)現(xiàn)
本文主要介紹了nginx?Rewrite重寫地址的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
Nginx中修復(fù)安全配置漏洞的實(shí)戰(zhàn)指南
這篇文章主要為大家詳細(xì)介紹了Nginx中修復(fù)安全配置漏洞的實(shí)戰(zhàn)指南,文中介紹了如何識別常見的漏洞并進(jìn)行修復(fù),大家可以根據(jù)需要進(jìn)行選擇2025-09-09

