
Nginx反向代理中文管理終極指南nginx-proxy-manager-zh快速上手指南【免費下載鏈接】nginx-proxy-manager-zh基于nginx-proxy-manager翻譯的中文版本項目地址: https://gitcode.com/gh_mirrors/ng/nginx-proxy-manager-zh周五晚上十點你剛把公司新開發(fā)的內(nèi)網(wǎng)應(yīng)用部署好老板的語音消息就彈了過來明天客戶要從外面訪問你處理一下。你熟練地打開服務(wù)器準(zhǔn)備給 Nginx 寫反向代理配置結(jié)果一個小時過去了你還卡在location寫法和certbot的證書簽發(fā)上。這個場景是不是有點熟悉nginx-proxy-manager-zh 就是為終結(jié)這種配置地獄而生的——它是基于廣受歡迎的 nginx-proxy-manager 完整翻譯的中文版本把反向代理、SSL 證書、訪問控制這些原本要靠命令行和配置文件才能搞定的事情全部搬進了一個直觀的網(wǎng)頁界面。你不需要懂 Nginx 語法甚至不需要會 Linux就能把域名、證書、內(nèi)網(wǎng)服務(wù)管理得井井有條。圖1登錄后第一眼看到的中文儀表盤系統(tǒng)里有多少服務(wù)、狀態(tài)如何一目了然它到底解決了什么先算一筆賬反向代理聽起來很高深其實可以類比成寫字樓的前臺訪客外部請求到了樓下前臺Nginx負(fù)責(zé)核驗身份、查通訊錄然后把訪客帶到對應(yīng)的公司內(nèi)網(wǎng)服務(wù)。復(fù)雜的是這個前臺原本要你用純文本配置文件一點點寫出來寫錯一個標(biāo)點整個服務(wù)可能就掛了。場景傳統(tǒng)手寫 Nginx 配置nginx-proxy-manager-zh新增一個代理手寫server{}、location、proxy_pass改完還得 reload網(wǎng)頁填域名、IP、端口點保存即生效配置 SSL 證書手動裝 certbot、跑命令、處理續(xù)期和報錯界面勾選 Lets Encrypt自動申請、自動續(xù)期設(shè)置訪問白名單手寫allow/deny規(guī)則界面拖幾個選項或直接加用戶認(rèn)證多人協(xié)作幾個人共用一個服務(wù)器賬號誰改了什么全靠猜每人獨立賬號操作全程有審計日志一句話總結(jié)別人花一小時干完的活你大概五分鐘而且是全中文界面。打開工具箱看看里面有什么代理主機把任意域名指向內(nèi)網(wǎng)服務(wù)最常用的核心功能重定向主機老域名 301 跳轉(zhuǎn)到新站點幾秒鐘配好SSL 證書管理Lets Encrypt 免費證書一鍵簽發(fā)、自動續(xù)期還支持上傳自定義證書訪問控制列表IP 黑白名單、用戶名密碼雙重保護多用戶與權(quán)限給同事開賬號精細(xì)到每個菜單的可見和可操作404 主機Dead Host給亂解析的域名一個體面的兜底頁面流Stream轉(zhuǎn)發(fā)SSH、數(shù)據(jù)庫這類 TCP/UDP 服務(wù)也能轉(zhuǎn)發(fā)審計日志誰在什么時候改了什么全都記錄在案自定義配置高級玩家還能在界面里直接塞一段自定義 Nginx 配置帶你把第一臺服務(wù)真正跑起來光說不練沒意思下面我們從零開始把一套能對外提供服務(wù)的環(huán)境搭出來。整個過程就像領(lǐng)著你看一遍你跟著點就行。第一步確認(rèn)你有 Docker 環(huán)境。這是唯一的前置條件。Docker 會把整個項目連同運行環(huán)境打包成鏡像你不需要在服務(wù)器上裝 Node.js、Nginx 或 Python省去一大堆依賴糾紛。第二步寫一個部署配置文件。在任意目錄新建文件docker-compose.yml內(nèi)容如下version: 3 services: app: image: chishin/nginx-proxy-manager-zh:release restart: always ports: - 80:80 - 81:81 - 443:443 volumes: - ./data:/data - ./letsencrypt:/etc/letsencrypt簡單解釋三個關(guān)鍵點80和443是將來對外提供服務(wù)的入口81是管理界面的端口務(wù)必保留兩個volumes目錄分別存放數(shù)據(jù)庫和 SSL 證書刪容器不會丟數(shù)據(jù)備份也靠它們。第三步啟動并等待就緒。docker-compose up -d等一兩分鐘讓服務(wù)初始化完成然后瀏覽器訪問http://你的服務(wù)器IP:81會看到登錄頁面圖2管理界面的登錄入口首次登錄后系統(tǒng)會強制要求修改密碼第四步用默認(rèn)賬號登錄馬上改密碼。初始賬號是adminexample.com密碼changeme。登錄后系統(tǒng)會立刻要求你更新管理員信息——別跳過這是你整個系統(tǒng)的第一道門。第五步添加第一個代理主機。假設(shè)你有個應(yīng)用跑在服務(wù)器本機的3000端口想用myapp.example.com對外提供服務(wù)。進入主機 → 代理主機點擊添加代理主機域名填myapp.example.com轉(zhuǎn)發(fā)主機名填127.0.0.1同機部署或?qū)?yīng)的內(nèi)網(wǎng) IP轉(zhuǎn)發(fā)端口填3000保存。圖3添加代理主機的表單域名、協(xié)議、目標(biāo)主機和端口都在這一頁搞定第六步順手把 SSL 證書也辦了。同一個表單切到 SSL 標(biāo)簽頁勾選Lets Encrypt填上你的郵箱保存。系統(tǒng)會自動完成證書申請之后每次快到期都會自動續(xù)期你幾乎感覺不到它的存在。圖4證書列表頁可以看到每張證書的頒發(fā)機構(gòu)和到期時間到這一步你的第一個 HTTPS 服務(wù)已經(jīng)上線了。全程沒有寫過一行 Nginx 配置沒有敲過一條 certbot 命令這就是這套工具最核心的價值。老手才懂的幾個小機關(guān)1. 別用host.docker.internal連宿主機。很多人配代理時習(xí)慣用它訪問宿主機服務(wù)但它只在特定 Docker 版本里可靠。更穩(wěn)的做法是讓 NPM 容器和你其他容器在同一個自定義網(wǎng)絡(luò)里直接用服務(wù)名訪問。你的docker-compose.yml里給所有服務(wù)加同一段networks聲明即可。2. 證書申請失敗九成是端口和域名的問題。Lets Encrypt 驗證請求必須從外網(wǎng)通過80端口到達(dá)你的服務(wù)器域名也必須真實解析到這臺服務(wù)器。先ping一下域名確認(rèn)解析再確認(rèn)云廠商的安全組放開了80和443比反復(fù)重試證書申請高效得多。3. 生產(chǎn)環(huán)境建議換數(shù)據(jù)庫。默認(rèn)用 SQLite單機完全夠用如果服務(wù)多、并發(fā)高可以在backend/config/default.json里切換 MySQL 或 PostgreSQL配置好連接參數(shù)重啟即可遷移由項目自動完成。4. 敏感服務(wù)加雙重鎖。先建一個訪問控制列表限制來源 IP再在列表里勾選滿足任一條件通過加一組用戶名密碼。兩層都過了才放行日志里還能看到是誰在訪問。圖5訪問列表頁面IP 限制和用戶認(rèn)證都可以在這里組合使用5. 升級前先備份升級只要三行命令。把./data和./letsencrypt兩個目錄復(fù)制一份就能完整備份。升級則依次執(zhí)行docker-compose down、docker-compose pull、docker-compose up -d數(shù)據(jù)庫結(jié)構(gòu)升級會自動完成。你可能會問的幾個問題Q1我不會 Docker能用這個項目嗎能但強烈建議學(xué)一下。Docker 是這套工具最省心的部署方式裝好 Docker 后只需要復(fù)制一段配置、敲一行命令比手動裝 Nginx、Node、數(shù)據(jù)庫再逐個配環(huán)境簡單得多。如果真的不想用 Docker也可以git clone https://gitcode.com/gh_mirrors/ng/nginx-proxy-manager-zh拿到全部源碼按照backend/和frontend/里的說明在本地直接運行。Q2證書申請一直失敗最可能是什么原因按優(yōu)先級排查域名解析是否正確指向服務(wù)器 → 服務(wù)器80/443端口是否被防火墻或云安全組攔截 → 是否已有其他服務(wù)占用了這兩個端口。另外注意申請證書的域名必須是你真實擁有且能收到驗證請求的別拿沒解析的域名去試。Q3配置完代理還是訪問不了怎么查先用docker logs 容器名看 NPM 容器的日志再確認(rèn)目標(biāo)服務(wù)本身能訪問比如在服務(wù)器上curl 127.0.0.1:3000試試。最后檢查代理主機表單里轉(zhuǎn)發(fā)主機名是不是寫了容器無法解析的地址同機部署寫127.0.0.1跨容器寫容器名。Q4想讓同事一起管理但又不想給他全部權(quán)限在用戶頁面新建賬號然后在權(quán)限設(shè)置里把代理主機、重定向主機等資源的權(quán)限從可管理改成僅查看。同事能看到所有配置但不能亂動管理權(quán)依然在你手里。系統(tǒng)還有審計日志可以隨時回看每個人的操作記錄。圖6給團隊成員分配精細(xì)權(quán)限實現(xiàn)安全的多人協(xié)作Q5升級后界面和數(shù)據(jù)會變嗎不會。項目會自動遷移數(shù)據(jù)庫結(jié)構(gòu)你的配置和證書原樣保留。唯一要注意的是升級前看一眼docker-compose.yml確認(rèn)鏡像標(biāo)簽不是舊版鎖定的用文中這個release標(biāo)簽就能持續(xù)跟隨更新?,F(xiàn)在輪到你了回顧一下nginx-proxy-manager-zh 把反向代理、SSL 證書、訪問控制這三件最讓運維頭疼的事壓縮成了幾個表單頁面Docker 一行命令完成部署默認(rèn)中文界面首次登錄五分鐘內(nèi)就能跑起第一臺 HTTPS 服務(wù)。對個人開發(fā)者它讓家里那臺小服務(wù)器上的 NAS、博客、下載工具都能安全地暴露出去對團隊它提供了權(quán)限管理和審計日志多個人協(xié)作也不會亂套。下一步很簡單打開你的服務(wù)器按文章第二步的配置創(chuàng)建docker-compose.yml執(zhí)行docker-compose up -d然后打開81端口。等你把第一個代理主機配上 SSL 證書、看到那個綠色的小鎖圖標(biāo)時你會回來感謝周五晚上那個決定動手的自己。【免費下載鏈接】nginx-proxy-manager-zh基于nginx-proxy-manager翻譯的中文版本項目地址: https://gitcode.com/gh_mirrors/ng/nginx-proxy-manager-zh創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考