日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Nginx Sentinel模塊配置(舊版)

本文介紹使用Nginx接入Sentinel流量防護的配置說明。

安裝Sentinel Sidecar

下載AHAS Sentinel Sidecar,并解壓到本地。

建議解壓到/opt目錄下,操作命令如下:

curl -L -O https://ahasoss-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/sidecar/latest/ahas-sentinel-sidecar-linux.tar.gz
sudo tar -xzf ahas-sentinel-sidecar-linux.tar.gz -C /opt/

解壓之后的安裝目錄為/opt/ahas-sentinel-sidecar-linux,Nginx Sentinel動態模塊文件位于安裝目錄的lib/<os>-nginx-<version>/子目錄下。

全局配置

  • 加載動態模塊load_module
    • 語法:load_module "/path/to/module.so";
    • 默認值: 無
    • 配置上下文:main

    使用Nginx Sentinel模塊前,必須先使用load_module指令加載之。此指令必須出現在主配置文件最開始的位置(主配置events配置之前)。

    以CentOS 7、Nginx-1.16.1、Sentinel Sidecar安裝目錄/opt/ahas-sentinel-sidecar-linux為例,示例配置如下。
    load_module "/opt/ahas-sentinel-sidecar-linux/lib/centos7-nginx-1.16.1/ngx_sentinel_module.so";
    說明 Nginx自身限制預編譯動態模塊與Nginx版本及編譯配置綁定,升級Nginx版本或修改編譯參數時必須同時更新預編譯動態模塊。
    如果Sentinel Sidecar安裝包未包含您使用的Nginx版本,請提供您的操作系統版本和Nginx -V(大寫的V)的完整輸出文本,以便為您提供預編譯Nginx模塊。
  • Nginx Sentinel模塊初始化sentinel_init
    • 語法:sentinel_init sidecar unix:<path> | <address>:<port>;
    • 默認值:無
    • 配置上下文:main

    使用sentinel_init指令配置Nginx Sentinel模塊初始化參數。當前即配置Sentinel Sidecar的監聽地址,示例配置如下。

    sentinel_init sidecar unix:/tmp/sentinel-sidecar.sock;
  • Sentinel Sidecar運行命令sentinel_sidecar_run
    • 語法:sentinel_sidecar_run "/path/to/sentinel-sidecar.sh" --app=<name> [--license=<license>] [--ns=<namespace>];
    • 默認值:無
    • 配置上下文:main

    使用sentinel_sidecar_run指令配置Sentinel Sidecar運行命令。Sentinel Sidecar使Nginx工作進程在獨立的子進程中運行。Nginx Sentinel模塊與Sidecar異步通信實現流控功能。

    在阿里云VPC環境接入時,配置如下:
    • Sentinel Sidecar啟動腳本路徑,如/opt/ahas-sentinel-sidecar-linux/bin/sentinel-sidecar.sh
    • AHAS應用名--app=<name>。這里配置的應用名即在AHAS控制臺上查看和管理的應用名。
    • 可選配置,AHAS環境(namespace)--ns=<namespace>

    在公網環境接入時,還需要添加License配置:

    公網接入License--license=<license>,可登錄AHAS控制臺查詢您的License,具體操作,請參見查看License

    重要 License是機密信息,請注意保密。

    以阿里云VPC環境,Sentinel Sidecar安裝目錄/opt/ahas-sentinel-sidecar-linux為例,示例配置如下。

    sentinel_sidecar_run "/opt/ahas-sentinel-sidecar-linux/bin/sentinel-sidecar.sh" --app=demo;

HTTP限流配置

限流行為sentinel_block_action

  • 語法:sentinel_block_action off | =code;
  • 默認值:sentinel_block_action =429;
  • 配置上下文:httpserverlocation

Nginx添加Sentinel模塊后,可使用sentinel_block_action指令配置限流行為。默認配置為sentinel_block_action =429;,即觸發限流時Nginx立即返回HTTP 429錯誤碼。sentinel_block_action指令可分別在Nginx配置文件的http/server/location配置上下文進行配置。

  • 當客戶端訪問指定location下的URL請求時,如果該location未配置限流行為,則使用其所在server的配置。
  • 如果server也未配置限流行為,則使用HTTP下的配置。
  • 如果HTTP下也未配置,則使用內置默認配置,即返回HTTP 429錯誤碼。

如Nginx同時作為靜態資源服務器和HTTP反向代理服務器時,靜態資源不需要限流,可在HTTP主配置關閉sentinel流控檢查,在需要限流的location下再按需開啟流控功能。

sentinel_block_action指令支持如下配置項:

  • off:關閉Sentinel流控檢查,即不使用Sentinel模塊,直接放行所有請求。
  • =code:執行流控檢查并執行限流攔截,觸發限流時Nginx立即返回指定的HTTP錯誤碼,拒絕處理此請求。
說明