首頁 >運維 >Nginx >如何使用Nginx Proxy Manager實現反向代理的請求攔截與轉發

如何使用Nginx Proxy Manager實現反向代理的請求攔截與轉發

WBOY
WBOY原創
2023-09-26 08:41:101931瀏覽

如何使用Nginx Proxy Manager实现反向代理的请求拦截与转发

如何使用Nginx Proxy Manager實作反向代理程式的請求攔截與轉送

Nginx Proxy Manager是一款基於Nginx的管理工具,可以透過簡單的介面來配置來管理Nginx反向代理。它允許使用者透過圖形介面設定反向代理規則,同時提供了請求攔截與轉發功能,以便更好地控制請求的流向。本文將介紹如何使用Nginx Proxy Manager實作請求攔截與轉發,並提供特定的程式碼範例。

  1. 安裝Nginx Proxy Manager

首先,我們需要在伺服器上安裝Nginx Proxy Manager。你可以從官方網站(https://nginxproxymanager.com/)下載最新版本的安裝包,並按照其指南進行安裝。安裝完成後,你可以透過 http://localhost:81 存取管理介面,預設使用者名稱和密碼為admin

  1. 新增反向代理主機

在Nginx Proxy Manager的管理介面中,點選左邊導覽列的"Hosts"選項,然後點選右上角的"Add Proxy Host"鈕。在彈出的視窗中,填寫相關資訊。

例如,你要將請求攔截並轉發給本地的3000端口,可以按照如下配置填寫:

  • Domain Names: 輸入你要代理的網域或IP位址。
  • Scheme: 選擇"HTTP"或"HTTPS"。
  • IP Address/Hostname: 輸入你要轉送的目標位址,也就是本地的3000埠。
  • Port: 輸入你要轉送的目標埠。

點擊視窗底部的"Save"按鈕儲存配置。

  1. 設定請求攔截與轉送規則

在新增完反向代理主機後,你需要設定請求攔截與轉送的規則。點擊左側導覽列的"Locations"選項,然後點擊右上角的"Add Location"按鈕。在彈出的視窗中,填寫相關資訊。

  • Path: 輸入你要攔截的路徑。例如,你要攔截以/api開頭的所有請求,可以填寫為"/api"。
  • Proxy Host: 選擇先前新增的反向代理主機。
  • Proxy Location: 輸入你要轉送的目標位址。例如,要轉送至http://localhost:3000,則填入為/

點擊視窗底部的"Save"按鈕儲存設定。

  1. 修改Nginx設定檔

為了讓Nginx Proxy Manager的設定生效,還需要修改Nginx的設定檔。透過SSH登入你的伺服器,並找到Nginx的設定檔。根據你的安裝方式,設定檔可能位於/etc/nginx/nginx.conf/usr/local/nginx/conf/nginx.conf

在設定檔中找到類似以下的位置區塊:

http {
  ...
  server {
    ...
  }
}

在該位置區塊中加入以下程式碼:

include /var/www/npm/fullchain.pem;
include /var/www/npm/privkey.pem;

server {
    listen 80;
    server_name your_domain.com;

    location / {
        proxy_pass http://127.0.0.1:81;
        proxy_set_header Host $host;
    }

    listen 443 ssl; # enable HTTPS
    ssl_certificate /var/www/npm/fullchain.pem; # provide your SSL certificate
    ssl_certificate_key /var/www/npm/privkey.pem; # provide your SSL certificate key

}

以上程式碼中,你需要將"/var /www/npm/fullchain.pem"和"/var/www/npm/privkey.pem"替換為你的SSL憑證路徑。同時,將"your_domain.com"替換為你的網域。

儲存並退出文件,然後重新載入Nginx設定檔:

sudo nginx -t
sudo service nginx restart
  1. #測試

在完成上述步驟後,你可以在瀏覽器中嘗試訪問你的域名,並觀察請求是否成功轉發到本地的3000端口。你可以開啟瀏覽器的開發者工具,在"Network"標籤下查看請求的細節。

如果一切配置正確,請求應該會被成功攔截並轉發到本地的3000端口,然後在瀏覽器中顯示相應的內容。

總結

本文介紹如何使用Nginx Proxy Manager實作請求攔截與轉發,並提供了具體的程式碼範例。透過Nginx Proxy Manager的簡單配置,我們可以輕鬆實現反向代理的請求流量控制,從而更好地管理伺服器中的請求。希望這篇文章能幫助你理解如何使用Nginx Proxy Manager進行請求攔截與轉送。

以上是如何使用Nginx Proxy Manager實現反向代理的請求攔截與轉發的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn