排解邊緣路由器問題

Private Cloud v. 4.17.09 版本

Edge Router 是使用 Nginx 路由器實作。在 Edge 升級程序期間,或變更 Router 設定時,您可能會看到 Nginx 設定錯誤。發生這些錯誤時,Edge 會將造成問題的 Nginx 設定檔寫入 /opt/nginx/conf.d。接著,您可以使用 Nginx configtest 工具判斷錯誤原因。

舉例來說,您檢查 /opt/nginx/conf.d 並查看下列檔案:

-rw-r--r-- 1 apigee apigee 522 Jul 20 08:41 0-default.conf.bad 
-rw-r--r-- 1 apigee apigee 577 Jul 20 08:42 0-fallback.conf
-rw-r--r-- 1 apigee apigee 1062 Jul 20 08:18 0-map.conf
-rw-r--r-- 1 apigee apigee 1887 Jul 20 08:42 custorg_test_default.conf.bad

請注意,有多個檔案的後置字串為 .bad

通常,這些錯誤是因為您對 /opt/apigee/customer/application/router.properties 檔案進行了不正確的變更,或是對虛擬主機進行了不正確的變更。舉例來說,您新增了以下內容:

conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=32k

此值不允許。

如何修正這類錯誤:

  1. /opt/nginx/conf.d 資料夾的檔案名稱中移除 .bad 後置字串,使其結尾是 .conf
  2. 執行 Nginx configtest 工具,即可顯示失敗的原因:
    /opt/nginx/scripts/apigee-nginx configtest

    您會看到以下格式的輸出內容:

    nginx: [emerg]
      "proxy_busy_buffers_size" must be equal to or greater than the maximum of the value of
      "proxy_buffer_size" and one of the "proxy_buffers" in /opt/nginx/conf/nginx.conf:47
  3. 編輯 /opt/apigee/customer/application/router.properties,將 conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size 設為 128k。
  4. 已移除 /opt/nginx/conf.d 目錄:
    rm -rf /opt/nginx/conf.d
  5. 重新啟動路由器:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  6. 您應該不會再在 /opt/nginx/conf.d 資料夾中看到錯誤的設定檔。