如何使用Nginx作為反向代理

如何使用Nginx作為反向代理

除了 Apache 之外,Nginx 是最受歡迎的 Web 伺服器。除了作為 Web 伺服器之外,它還可以用作負載平衡器或反向代理。在本教程中,Quantrimang.com將向您展示如何使用 Nginx 作為反向代理。

什麼是反向代理?

代理伺服器充當客戶端和另一個伺服器之間的中介。代理伺服器從您要連接的伺服器檢索資源並將其發送給您查看。反向代理的工作方式相同,只是角色顛倒了。當您向伺服器要求資訊時,反向代理會儲存請求並將其傳送到適當的後端伺服器。這允許系統管理員將伺服器用於多個應用程序,並確保客戶端和伺服器之間的流量更加順暢。

如何使用Nginx作為反向代理

反向代理的好處

根據您的應用程序,您可能有不同的反向代理用例。

  • 反向代理允許您在同一台伺服器上運行多個應用程式- 如果您有多個應用程式在同一台伺服器上運行,它們不能同時「偵聽」連接埠80 或433。使用反向代理,您可以對其進行配置如果需要,將流量重定向到各個應用程式。
  • 負載平衡- 如果您有多個伺服器運行相同的應用程序,則可以使用反向代理將流量均勻分配到每個伺服器。
  • Web 應用程式防火牆- 您可以使用反向代理來隱藏您的應用程序,也可以過濾垃圾郵件 IP 或防止DDOS 攻擊
  • 輕鬆記錄和審核- 由於所有傳入流量均由反向代理管理,因此更容易記錄和監控流量。

配置 Nginx 作為反向代理

要將 Nginx 設定為反向代理,本文將使用Nginx 設定檔中的proxy_pass參數。

注意:本教學假設您對 Nginx 有一定的了解,並且已經在伺服器中安裝和設定了 Nginx。

在大多數用例中,Nginx 將作為前端伺服器,「監聽」連接埠 80 (HTTP) 或 443 (HTTPS) 以接收傳入請求。由於端口 80 或 443 上只能有一個服務“偵聽”,因此您的應用程式必須“偵聽”另一個端口,例如端口 8081。最簡單的配置如下所示:

server {
listen 80;
listen [::]:80;
server_name myapp.com;
location / {
proxy_pass http://localhost:8081/;
}
}

這表示連接埠80上對myapp.com 的所有請求都將被重新導向到連接埠8081。

進階設定

除了 proxy_pass 指令之外您還可以使用其他幾個指令進行更進階的設定。

  • proxy_set_header - 這允許您設定要傳送到後台應用程式的標頭。例如,請參考以下配置:
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

您可以設定必要的代理程式標頭以傳遞給應用程序,告訴它請求IP和遠端位址,然後將正確的內容輸出到請求網站。

  • 代理逾時- 這允許您設定發送和接收代理請求的逾時值。例如:
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
  • proxy_buffers - 這允許 Nginx 暫時保存代理伺服器的回應,並僅在代理伺服器完成回應後將其傳送到請求伺服器。例如:
proxy_buffers 32 4k;

如果您的應用程式發送大量文件,那麼您可能需要停用 proxy_buffers:

proxy_buffering off;

如您所見,Nginx 是一個具有多種用途的反向代理伺服器。它最大的優點是配置簡單、易於使用,並且仍然允許您在更複雜的場景中進行擴充。有關更多詳細信息,您可以查看 Nginx 代理模組文件(位於https://nginx.org/en/docs/http/ngx_http_proxy_module.html)或配置範例(位於https://www .nginx.com/resources/ wiki /開始/主題/範例/完整/)。

希望你成功。


什麼是惡意軟體 HackTool:Win32/Keygen?如何去除?

什麼是惡意軟體 HackTool:Win32/Keygen?如何去除?

您是否掃描過您的設備並發現它感染了 HackTool:Win32/Keygen?在您使用破解或金鑰產生器啟動進階軟體後,Windows Defender 可能會自動警告您有關此惡意軟體的存在。

在 Windows 10 上建立備份和還原點(Restore Point)的說明

在 Windows 10 上建立備份和還原點(Restore Point)的說明

探索如何在Windows 10上建立和管理還原點,這是一項有效的系統保護功能,可以讓您快速還原系統至先前狀態。

在 Windows 10 中開啟裝置管理員的 15 種方法

在 Windows 10 中開啟裝置管理員的 15 種方法

您可以使用以下 15 種方法輕鬆在 Windows 10 中開啟<strong>裝置管理員</strong>,包括使用命令、捷徑和搜尋。

Windows「顯示桌面」的 10 種超快速方法

Windows「顯示桌面」的 10 種超快速方法

很多人不知道如何快速顯示桌面,只好將各個視窗一一最小化。這種方法對於用戶來說非常耗時且令人沮喪。因此,本文將向您介紹Windows中快速顯示桌面的十種超快速方法。

如何使用 Windows Repair 修復 Windows 錯誤

如何使用 Windows Repair 修復 Windows 錯誤

Windows Repair 是一款有效的 Windows 錯誤修復工具,幫助使用者修復與 Internet Explorer、Windows Update 和其他重要程式相關的錯誤。

如何在 Windows 10 中開啟資料夾選項或檔案總管選項

如何在 Windows 10 中開啟資料夾選項或檔案總管選項

您可以使用檔案總管選項來變更檔案和資料夾的工作方式並控制顯示。掌握如何在 Windows 10 中開啟資料夾選項的多種方法。

有關在 Windows 10 上刪除使用者帳戶的 5 種方法的說明

有關在 Windows 10 上刪除使用者帳戶的 5 種方法的說明

刪除不使用的使用者帳戶可以顯著釋放記憶體空間,並讓您的電腦運行得更流暢。了解如何刪除 Windows 10 使用者帳戶的最佳方法。

如何使用Bootsect /nt60將VBC更新為BOOTMGR

如何使用Bootsect /nt60將VBC更新為BOOTMGR

使用 bootsect 命令能夠輕鬆修復磁碟區引導程式碼錯誤,確保系統正常啟動,避免 hal.dll 錯誤及其他啟動問題。

Windows 11 中的存檔應用程式功能是什麼?應該啟用還是停用它?

Windows 11 中的存檔應用程式功能是什麼?應該啟用還是停用它?

存檔應用程式是一項功能,可以自動卸載您很少使用的應用程序,同時保留其關聯的檔案和設定。了解如何有效利用 Windows 11 中的存檔應用程式功能。

如何在 Windows 10 上為 BlueStacks 5 啟用虛擬化 (VT)

如何在 Windows 10 上為 BlueStacks 5 啟用虛擬化 (VT)

要啟用虛擬化,您必須先進入 BIOS 並從 BIOS 設定中啟用虛擬化,這將顯著提升在 BlueStacks 5 上的效能和遊戲體驗。