如何使用Nginx實現根據請求的URI將流量重定向

假設我們有一個需求,需要將以下URL重定向到不同的目標位址: http://192.168.1.3:8085/123456/test.html 重定向到 http://192.168.3.33:8085/test.html 設定重定向規則 首先,我們需要在Nginx設定檔中定義重定向規則。我們可以使用map指令來實現這一點。在http區塊中添加以下程式碼段: map $uri $test { ~^/123456/(.*) http://192.168.3.33; # 其他規則... } 在上述程式碼中,我們定義了一個名為$test的變數,它根據請求的URI進行匹配,並關聯相應的後端伺服器位址。在這個示例中,請求的URI以/123456/開頭的將匹配到http://192.168.3.33:8085這個後端伺服器位址。 設定反向代理 接下來,我們需要在server區塊中設定反向代理,並使用之前定義的重定向規則。在server區塊中添加以下程式碼段: server { listen 8085; location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_connect_timeout 240; proxy_send_timeout 240; proxy_read_timeout 240; proxy_pass $test:8085/$1?$args; # 修改此處 client_max_body_size 100m; } } 在上述程式碼中,我們設定了監聽埠為8085的伺服器,並在location /中進行反向代理的相關設定。我們設定了一些常用的代理標頭資訊,並禁用了Nginx對後端伺服器的重定向修改。另外,我們使用了$test變數作為後端伺服器位址,並使用$1將匹配到的URI子串附加到重定向的目標URL末尾。 測試重定向 完成以上設定後,儲存並重新載入Nginx設定檔。然後,使用瀏覽器或其他HTTP工具,訪問 http://192.168.1.3:8085/123456/test.html。根據我們的設定,該請求將被重定向到http://192.168.3.33:8085/test.html。 並確保其他的重定向規則和正則表達式模式正確配置,以便它們不會與此規則衝突並正確匹配其他請求。

June 2, 2023 · 1 分鐘

如何在DigitalOcean App Platform上構建Hugo博客

翻译原文:How To Build and Deploy a Hugo Site to DigitalOcean App Platform 原作者:Brian Hogan Hugo 是一個用於構建網站的靜態站點生成器和框架。 使用 Hugo,您可以使用 HTML 定義主題並使用 Markdown 或其他文本處理器構建您的內容。 Hugo 生成可以在任何地方託管的 HTML。 在本教程中,您將使用 Hugo 構建一個小型靜態網站,並使用 GitHub 將該網站部署到 DigitalOcean 的App Platform。 然後您將更改您的網站並看到這些更改自動部署。 先決條件 要完成本教程,您需要: 一個 DigitalOcean 帳戶。 一個 GitHub 帳戶。 安裝在你的本地機器上的Git。 您可以按照教程:為開源做出貢獻:Git 入門在您的計算機上安裝和設置 Git。 一個文本編輯器。 您可以使用 Visual Studio Code或你喜歡的文本編輯器。 步驟 1 — 安裝 Hugo 要構建您的 Hugo 站點,您需要在本地計算機上安裝 hugo 命令行工具。 您將使用此工具來生成您的網站、創建內容頁面並啟動一個小型服務器,您將在部署網站之前使用它來測試您的網站。 Hugo 以單個二進製文件的形式提供,因此安裝過程包括將文件下載到您的計算機並將其放在您的路徑中。 從 GitHub 上的發布頁面下載 Hugo。 Hugo 有兩個版本:普通版和擴展版。 下載擴展版本,以便支持資產管理和 CSS 預處理。 將文件保存到您的Downloads目錄。...

May 18, 2023 · 5 分鐘