Nginx Proxy Manager輕松搭建反向代理的實現(xiàn)
在現(xiàn)代網(wǎng)絡(luò)環(huán)境中,越來越多的服務(wù)需要在同一個服務(wù)器上運行,如何合理地管理這些服務(wù),并確保它們能夠安全高效地互通,是許多站長和開發(fā)者面臨的難題。Nginx Proxy Manager(簡稱 NPM)正是為了解決這個問題而生,它提供了一個簡單、直觀的界面來管理反向代理和 SSL 證書配置,使得網(wǎng)站、應(yīng)用的反向代理設(shè)置更加輕松。
一、什么是 Nginx Proxy Manager?
Nginx Proxy Manager(NPM)是一款功能強大且易于使用的開源工具,旨在簡化 Nginx 反向代理的配置和管理。它提供了一個用戶友好的 Web 界面,讓您無需深入了解 Nginx 配置文件,就能輕松地搭建和管理多個反向代理。NPM 尤其適合那些希望快速搭建高性能、安全的反向代理,但又不想花費大量時間學(xué)習(xí) Nginx 配置的開發(fā)者和運維人員。
二、為什么選擇 Nginx Proxy Manager?
- 直觀的 Web 界面: 提供了一個可視化的界面,讓您通過簡單的點擊和配置來管理反向代理,無需編寫復(fù)雜的 Nginx 配置文件。
- 強大的功能: 支持多種代理協(xié)議(HTTP、HTTPS、WebSocket 等)、負載均衡、SSL 證書管理、訪問控制等。
- 自動化的 SSL 證書管理: 內(nèi)置了對 Let’s Encrypt 的支持,可以自動申請、配置和更新 SSL 證書,確保您的網(wǎng)站始終保持 HTTPS 安全。
- 靈活的配置選項: 提供了豐富的配置選項,可以滿足各種復(fù)雜的代理需求,例如自定義域名、重定向、錯誤頁面等。
- 社區(qū)支持: 擁有一個活躍的社區(qū),提供豐富的文檔、教程和示例配置,方便用戶學(xué)習(xí)和交流。
- 開源免費: 完全開源,您可以自由地使用、修改和分發(fā)。
三、Nginx Proxy Manager 的核心功能
- 反向代理: 將多個后端服務(wù)(如 Web 服務(wù)器、API 服務(wù))統(tǒng)一暴露給外界,通過一個域名訪問多個服務(wù)。
- 負載均衡: 將請求分發(fā)到多個后端服務(wù)器,提高系統(tǒng)性能和可用性。
- SSL 證書管理: 自動申請、配置和更新 Let’s Encrypt 證書,確保網(wǎng)站的安全。
- 訪問控制: 通過 IP 白名單、黑名單、基本認證等方式控制對服務(wù)的訪問。
- 自定義配置: 對于有特殊需求的用戶,可以手動編輯 Nginx 配置文件。
- 監(jiān)控和日志: 提供基本的監(jiān)控和日志功能,幫助您了解系統(tǒng)運行狀況。
四、如何使用 Nginx Proxy Manager?
1、安裝 docker 環(huán)境
在開始之前,請確保你的系統(tǒng)已經(jīng)安裝了 Docker。如果還沒有安裝 Docker,請按照以下步驟進行安裝:
- 安裝 Docker(適用于 Linux 系統(tǒng))
curl -fsSL https://get.docker.com | sh
- 啟動 Docker 服務(wù)
systemctl start docker
- 如果是 CentOS 系統(tǒng),Docker 安裝后不會默認開機自啟,需要手動設(shè)置:
systemctl enable docker
- 驗證 Docker 是否安裝成功
docker --version
如果返回 Docker 的版本號,則說明 Docker 安裝成功。
2、安裝 Nginx Proxy Manager
- 創(chuàng)建文件
mkdir -p /home/docker/npm
- 進入目錄
cd /home/docker/npm
- 打開配置文件
vim docker-compose.yml
- 添加內(nèi)容,修改完配置文件,按下 i 進入編輯狀態(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
)。第一次登錄時,默認的用戶名是 admin@example.com
,密碼是 changeme
,您可以在第一次登錄后修改密碼。
3、配置反向代理
一旦成功登錄,您就可以開始配置反向代理了。
添加代理主機:
在管理界面,點擊 “Proxy Hosts” 菜單
點擊右上角的“Add Proxy Host”按鈕
在彈出的窗口中,輸入您的域名(如 www.yourdomain.com
)以及該域名對應(yīng)的服務(wù)器地址(如 http://localhost:8080
)
選擇是否啟用 SSL,您可以選擇自動申請 Let’s Encrypt 的證書,或者使用自己的 SSL 證書
配置 SSL 證書
如果您選擇了使用 SSL,Nginx Proxy Manager 會自動申請免費的 Let’s Encrypt 證書,您只需勾選“Force SSL”來強制所有流量通過 HTTPS 訪問
證書生成完成后,Nginx Proxy Manager 會自動為您配置 HTTPS 設(shè)置,保證您的網(wǎng)站訪問安全。
高級設(shè)置
您可以在 “Advanced” 選項卡中配置更多高級選項,如 WebSocket 支持、訪問控制、重定向規(guī)則等。
4、管理 SSL 證書
Nginx Proxy Manager 支持自動申請和續(xù)期 SSL 證書。對于您添加的每個代理主機,您都可以輕松地管理其 SSL 證書:
- 自動申請:點擊代理主機設(shè)置中的 “SSL” 選項卡,勾選 “Request a new SSL certificate” 選項,系統(tǒng)會自動為您的域名申請證書。
- 證書續(xù)期:Let’s Encrypt 的證書有效期為 90 天,但 Nginx Proxy Manager 會自動處理續(xù)期,無需手動干預(yù)。
5、管理 SSL 證書
Nginx Proxy Manager 還提供了簡單的訪問控制功能:
- 基本身份驗證:您可以為某些代理主機啟用基本身份驗證,要求訪問者提供用戶名和密碼才能訪問相關(guān)服務(wù)。
- IP 白名單/黑名單:您可以設(shè)置允許或拒絕某些 IP 地址訪問特定的反向代理,進一步提升服務(wù)的安全性。
五、總結(jié)
Nginx Proxy Manager 是一個強大且易于使用的工具,它使得配置反向代理、管理 SSL 證書、設(shè)置訪問控制等變得非常簡單。無論是對初學(xué)者還是有經(jīng)驗的開發(fā)者,Nginx Proxy Manager 都是一個理想的解決方案。如果您正在尋找一個快速、簡潔的方式來管理和優(yōu)化您的網(wǎng)絡(luò)服務(wù),Nginx Proxy Manager 無疑是一個值得嘗試的工具。
到此這篇關(guān)于Nginx Proxy Manager輕松搭建反向代理的實現(xiàn)的文章就介紹到這了,更多相關(guān)Nginx Proxy Manager反向代理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Nginx服務(wù)器的反向代理proxy_pass配置方法講解
- Nginx代理proxy pass配置去除前綴的實現(xiàn)
- nginx 反向代理之 proxy_pass的實現(xiàn)
- nginx配置中proxy_pass反向代理502的bug記錄
- nginx配置proxy_pass代理轉(zhuǎn)發(fā)時報404問題
- nginx反向代理proxy_pass遇到的死循環(huán)問題
- nginx代理參數(shù)proxy_pass的實現(xiàn)
- Nginx?反向代理緩存(proxy_cache)的實現(xiàn)
- nginx反向代理proxy_set_header
- Nginx Proxy 代理測試的實現(xiàn)
相關(guān)文章
nginx添加http_ssl_module并且配置域名指定端口的操作方法
這篇文章主要介紹了nginx添加http_ssl_module并且配置域名指定端口的操作方法,文末附帶linux下防火墻和開放端口,需要的朋友可以參考下2023-11-11分享nginx+php-fpm實現(xiàn)大文件下載排坑的過程
這篇文章主要介紹了nginx+php-fpm實現(xiàn)大文件下載排坑的過程,文中通過代碼實例相結(jié)合的形式給大家介紹的非常詳細,具有一定得參考借鑒價值,需要的朋友參考下吧2018-08-08Nginx PHP-Fcgi中因PHP執(zhí)行時間導(dǎo)致504 Gateway Timeout錯誤解決記錄
這篇文章主要介紹了Nginx PHP-Fcgi中因PHP執(zhí)行時間導(dǎo)致504 Gateway Timeout錯誤解決記錄,本文的解決方法得來不易,需要的朋友可以參考下2014-09-09