HTTP 應用

HTTP 應用.

建立應用

在 Edge 產品中,應用的域名是唯一的,所以在新建應用之前,需要保證之前沒有新增過這個域名,不然會報錯。 這裡我們先搜尋下要新增的域名 rewrite-rule-test.com: 如果這個域名已經存在,我們先刪除,再繼續新增。

釋出應用的修改

在 Edge Admin 中對應用做了修改,都是需要釋出才能在閘道器的節點生效的。 下面我們透過新建一個簡單的頁面規則,來熟悉下發布的流程。 我們選擇最簡單的 輸出響應體: 這個規則我們不開啟條件,直接點選右下方的建立按鈕。 那麼這個限制規則到底生效沒有呢?我們來驗證下。

應用設定

建立應用後,可以在應用設定調整域名,分割槽和訪問埠白名單等等。 下面介紹一下應用設定中較為特殊的配置項。 設定是否允許透過 HTTP2 訪問當前應用,預設會根據叢集分割槽的埠配置來決定,也可以單獨開啟或者關閉當前應用的 HTTP2。

反向代理到上游

反向代理是 OpenResty Edge 閘道器的核心功能之一,本文將詳細介紹如何在 Edge Admin 中配置反向代理規則。 首先進入 頁面規則 頁面,在此處新增閘道器反向代理到上游的頁面規則。 點選 新建規則 按鈕開始配置。 規則配置中的 Proxy 模組預設處於關閉狀態,需要先點選展開該模組。

代理中上游節點的重試次數

在反向代理中,一個上游通常會有多個上游節點,當一個上游節點返回錯誤時,我們會嘗試使用其他的上游節點。 這個重試次數可以透過 Edge Admin 來設定,最安全的重試次數是與上游節點數保持一致。我們來看下如何設定。 首先點選進入改寫規則頁面,在這裡新增閘道器反向代理到上游的規則。

代理快取

OpenResty Edge 也可以開啟快取功能。如果代理的請求是靜態資源,或者更新時效要求不高的資源,則可以配置開啟快取,如果在命中了閘道器節點快取的資源,則可以減少重複回上游的次數。 如下,有一個普通的反向代理規則。 我們編輯這條規則(也可以新建的時候,開啟快取,操作是一樣的)。 開啟快取。

gRPC 代理

gRPC 需要支援 HTTP2,我們需要先在叢集分割槽裡開啟現有埠 HTTP2 支援。 對於 HTTPS 埠,也可以在應用設定裡單獨開啟 HTTP2。具體可以參考這個文件。 新建頁面規則前先建立上游,gRPC 的上游配置方式與普通上游相同,我們先建立一個 gRPC 上游。

繫結上游到 k8s 服務

如果上游的節點是某個 k8s 服務,可以將這個上游和 k8s 服務進行繫結。 這樣當 k8s 服務的節點 IP 有變動的時候,OpenResty Edge™ 會感知到並自動更新上游節點。 新建上游的時候選擇 Use Kubernetes Service。

複製 HTTP 應用

需要建立配置相同,但域名、埠或閘道器分割槽不同的新應用時,可以複製現有 HTTP 應用。源應用不會被修改。 此功能在 OpenResty Edge 26.9.1-1 中首次引入。 具有應用寫許可權的使用者可以從 HTTP 應用列表或應用頁頭選擇 複製。只有 HTTP 應用可以作為複製來源。

啟用 HTTP/3

首先需要在 全域性配置/通用 中確保已啟用 TLSv1.3 協議支援 Screenshot 在 全域性配置/叢集分割槽 中,需要為分割槽新增 HTTP/3 監聽埠。由於 HTTP/3 使用 UDP 協議,這裡新增與 HTTPS 相同的 443 埠。

CC 攻擊日誌

CC 攻擊日誌記錄 OpenResty Edge 的 CC 防護規則觸發情況,可用於確認異常來源、分析被攻擊的 URI,並根據實際流量調整限流閾值和拒絕動作。建議在配置 CC 攻擊防護 後同時啟用該日誌。

響應體壓縮

響應體壓縮.