Edge Microgateway 的作業和設定參考資料

查看 Apigee Edge 說明文件。
前往 Apigee X說明文件
資訊

Edge Microgateway 2.4.x 版

總覽

本主題討論如何管理及設定 Edge Microgateway,包括監控、 以及記錄、偵錯

變更設定

您需要知道的設定檔包括:

  • 預設系統設定檔
  • 新初始化 Edge Microgateway 執行個體的預設設定檔
  • 運作中執行個體的動態設定檔

本節將說明這些檔案,以及變更這些檔案的相關須知。瞭解詳情 如要進一步瞭解設定檔設定,請參閱 Edge Microgateway 設定 參考資料

預設系統設定 檔案

安裝 Edge Microgateway 時,預設的系統設定檔位於此處:

[prefix]/lib/node_modules/edgemicro/config/default.yaml

其中 [prefix]npm 前置字串目錄。 查看位置 已安裝 Edge Microgateway

如果您變更系統設定檔,就必須重新初始化、設定並重新啟動 Edge Microgateway:

  1. 撥打 edgemicro init
  2. 撥打 edgemicro configure [params]
  3. 撥打 edgemicro start [params]

新初始化 Edge Microgateway 執行個體的預設設定檔

執行 edgemicro init 時,系統設定檔 (如上所述) default.yaml 位於這個目錄中: ~/.edgemicro

如果您在 ~/.edgemicro 中變更設定檔,則必須重新設定並重新啟動 Edge Microgateway:

  1. edgemicro stop
  2. edgemicro configure [params]
  3. edgemicro start [params]

動態 提供給運作中的執行個體

當您執行 edgemicro configure [params] 時,系統會 系統會在 ~/.edgemicro 中建立設定檔。系統將根據 模式:[org]-[env]-config.yaml, 其中 orgenv 是您的 Apigee Edge 機構 和環境名稱您可以用這個檔案變更設定,然後重新載入檔案 完全不需要停機舉例來說,如果您新增並設定外掛程式,可以重新載入 而不會造成任何停機時間,如下所述。

如果 Edge Microgateway 正在執行 (零停機時間選項):

  1. 重新載入 Edge Microgateway 設定:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    在此情況下:

    • org 是您的 Edge 機構名稱 (須為 機構組織管理員)。
    • env 是貴機構的環境 (例如測試或 prod)。
    • key 是該項設定先前傳回的鍵 指令
    • secret 是模型先前傳回的鍵 設定指令

    範例

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824

如果 Edge Microgateway 停止運作:

  1. 重新啟動 Edge Microgateway:
    edgemicro start -o [org] -e [env] -k [key] -s [secret]

    在此情況下:

    • org 是您的 Edge 機構名稱 (須為 機構組織管理員)。
    • env 是貴機構的環境 (例如測試或 prod)。
    • key 是該項設定先前傳回的鍵 指令
    • secret 是模型先前傳回的鍵 設定指令

    範例

    edgemicro start -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824

以下是設定檔範例。如要進一步瞭解設定檔設定, 請參閱 Edge Microgateway 設定參考資料

edge_config:
  bootstrap: >-
    https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/docs/environment/test
  jwt_public_key: 'https://docs-test.apigee.net/edgemicro-auth/publicKey'
  managementUri: 'https://api.enterprise.apigee.com'
  vaultName: microgateway
  authUri: 'https://%s-%s.apigee.net/edgemicro-auth'
  baseUri: >-
    https://edgemicroservices.apigee.net/edgemicro/%s/organization/%s/environment/%s
  bootstrapMessage: Please copy the following property to the edge micro agent config
  keySecretMessage: The following credentials are required to start edge micro
  products: 'https://docs-test.apigee.net/edgemicro-auth/products'
edgemicro:
  port: 8000
  max_connections: 1000
  max_connections_hard: 5000
  config_change_poll_interval: 600
  logging:
    level: error
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24
  plugins:
    sequence:
      - oauth
headers:
  x-forwarded-for: true
  x-forwarded-host: true
  x-request-id: true
  x-response-time: true
  via: true
oauth:
  allowNoAuthorization: false
  allowInvalidAuthorization: false
  verify_api_key_url: 'https://docs-test.apigee.net/edgemicro-auth/verifyApiKey'
analytics:
  uri: >-
    https://edgemicroservices-us-east-1.apigee.net/edgemicro/axpublisher/organization/docs/environment/test

設定環境變數

需要為 Edge 機構和 以及啟動 Edge Microgateway 所需的金鑰和密鑰 環境變數:

  • EDGEMICRO_ORG
  • EDGEMICRO_ENV
  • EDGEMICRO_KEY
  • EDGEMICRO_SECRET

您不一定要設定這些變數。只要您設定了這些屬性,就不一定要指定值。 當您使用指令列介面 (CLI) 設定和啟動 Edge Microgateway 時。

在 Edge Microgateway 上設定 SSL 伺服器

您可以將 Microgateway 伺服器設定為使用 SSL。舉例來說,設定 SSL 後 就可以透過 Edge Microgateway 使用「https」來呼叫 API通訊協定,如下所示:

https://localhost:8000/myapi

如要在 Microgateway 伺服器上設定 SSL,請按照下列步驟操作:

  1. 使用 openssl 公用程式或您偏好的方法產生或取得 SSL 憑證和金鑰。
  2. edgemicro:ssl 屬性新增至 Edge Microgateway 設定檔如需完整的選項清單,請參閱下表。如要進一步瞭解 修改 Edge Microgateway 設定,請參閱變更設定。例如:
     edgemicro:
         ssl:
             key: <absolute path to the SSL key file>
             cert: <absolute path to the SSL cert file>
             passphrase: admin123 #option added in v2.2.2
             rejectUnauthorized: true #option added in v2.2.2
             requestCert: true 
    敬上
  3. 重新啟動 Edge Microgateway。請根據變更設定一節所述, 預設的設定檔或執行階段設定檔

以下是已設定 SSL 的設定檔的 Edgemicro 部分範例:

edgemicro:
  port: 8000
  max_connections: 1000
  max_connections_hard: 5000
  logging:
    level: error
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24
  plugins:
    sequence:
      - oauth
  ssl:
    key: /MyHome/SSL/em-ssl-keys/server.key
    cert: /MyHome/SSL/em-ssl-keys/server.crt
    passphrase: admin123 #option added in v2.2.2
    rejectUnauthorized: true #option added in v2.2.2

以下是所有支援的伺服器選項清單:

選項 說明
key ca.key 檔案的路徑 (採用 PEM 格式)。
cert ca.cert 檔案的路徑 (採用 PEM 格式)。
pfx pfx 檔案路徑,該檔案包含私密金鑰、憑證和 用戶端的 CA 憑證 (PFX 格式)。
passphrase 包含私密金鑰或 PFX 通關密語的字串。
ca 包含 PEM 格式的信任憑證清單檔案路徑。
ciphers 字串,說明要使用的加密方式,並用「:」分隔。
rejectUnauthorized 如為 true,則會根據提供的 CA 清單驗證伺服器憑證。如果 驗證失敗,系統傳回錯誤。
secureProtocol 要使用的 SSL 方法。例如,SSLv3_method 將 SSL 強制更新為版本 3。
servername SNI (伺服器名稱指示) TLS 擴充功能的伺服器名稱。
requestCert 對雙向 SSL 而言為 true;false 代表單向 SSL

使用用戶端 SSL/TLS 選項

您可以將 Edge Microgateway 設為 TLS 或 SSL 用戶端連線時 端點。在 Microgateway 設定檔中,使用目標元素來設定 SSL/TLS 只要設定成「自動重新啟動」 和「在主機維護期間」選項即可

以下範例提供的設定會套用至所有主機:

targets:
   ssl:
     client:
       key: /Users/jdoe/nodecellar/twowayssl/ssl/client.key
       cert: /Users/jdoe/nodecellar/twowayssl/ssl/ca.crt
       passphrase: admin123
       rejectUnauthorized: true

在此範例中,設定只會套用至指定的主機:

targets:
   host: 'myserver.example.com'
   ssl:
     client:
       key: /Users/myname/twowayssl/ssl/client.key
       cert: /Users/myname/twowayssl/ssl/ca.crt
       passphrase: admin123
       rejectUnauthorized: true

TLS 的範例如下:

targets:
   host: 'myserver.example.com'
   tls:
     client:
       pfx: /Users/myname/twowayssl/ssl/client.pfx
       passphrase: admin123
       rejectUnauthorized: true

以下列出所有支援的用戶端選項:

選項 說明
pfx pfx 檔案路徑,該檔案包含私密金鑰、憑證和 用戶端的 CA 憑證 (PFX 格式)。
key ca.key 檔案的路徑 (採用 PEM 格式)。
passphrase 包含私密金鑰或 PFX 通關密語的字串。
cert ca.cert 檔案的路徑 (採用 PEM 格式)。
ca 包含 PEM 格式的信任憑證清單檔案路徑。
ciphers 字串,說明要使用的加密方式,並用「:」分隔。
rejectUnauthorized 如為 true,則會根據提供的 CA 清單驗證伺服器憑證。如果 驗證失敗,系統傳回錯誤。
secureProtocol 要使用的 SSL 方法。例如,SSLv3_method 將 SSL 強制更新為版本 3。
servername SNI (伺服器名稱指示) TLS 擴充功能的伺服器名稱。

自訂 Edgemicro-auth Proxy

根據預設,Edge Microgateway 會使用 Apigee Edge 上部署的 Proxy 進行 OAuth2 驗證。 系統會在您首次執行 edgemicro configure 時部署這個 Proxy。你可以 變更這個 Proxy 的預設設定,為 JSON Web 檔案新增自訂憑證附加支援 權杖 (JWT)、設定權杖到期時間,以及產生更新權杖。詳情請參閱 edgemicro-auth 頁面 。

使用自訂驗證服務

根據預設,Edge Microgateway 會使用 Apigee Edge 上部署的 Proxy 進行 OAuth2 驗證。 系統會在您首次執行 edgemicro configure 時部署這個 Proxy。根據預設 這個 Proxy 的網址是在 Edge Microgateway 設定檔中指定,如下所示:

authUri: https://myorg-myenv.apigee.net/edgemicro-auth

如要使用您自己的自訂服務處理驗證,請將 設定檔中的 authUri 值,指向您的服務。適用對象 可能有的服務使用 LDAP 驗證身分。

管理 記錄檔

Edge Microgateway 會記錄每個要求和回應的資訊。記錄檔可提供 以取得偵錯和疑難排解的相關資訊

記錄檔的儲存位置

根據預設,記錄檔會儲存在 /var/tmp 中。

如何變更預設記錄 檔案目錄

Edge Microgateway 設定中指定了儲存記錄檔的目錄 檔案。如要進一步瞭解如何變更設定,請參閱變更設定

edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

變更 dir 值,指定不同的記錄檔目錄。

將記錄檔傳送至控制台

您可以設定記錄功能,將記錄資訊傳送至標準輸出內容,而非傳送至 記錄檔將 to_console 標記設為 true,如下所示:

edgemicro:
  logging:
    to_console: true  

啟用這項設定後,記錄就會以標準輸出方式傳送。目前,您無法將記錄同時傳送至 stdout 並連結至記錄檔。

如何設定記錄層級

您可以設定以下記錄層級:infowarn、 和 error。建議提供資訊層級。會記錄所有 API 要求 及預設值。

如何變更記錄檔間隔

您可以在 Edge Microgateway 設定檔中設定這些間隔。深入瞭解 請參閱變更設定 變更

可設定的屬性如下:

  • stats_log_interval:(預設值:60) 統計資料,以秒為單位 記錄寫入 API 記錄檔。
  • rotate_interval:(預設值:24) 間隔,以小時為單位,當記錄檔變成 模型也會自動旋轉。例如:
edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

注意: 系統不會壓縮封存的記錄檔,間隔開始時, 系統會以新的時間戳記建立新的記錄檔。

良好 記錄檔維護做法

隨著記錄檔資料逐漸累積,Apigee 建議您採用下列做法: 做法:

  • 由於記錄檔可能會相當龐大,因此請務必確保記錄檔目錄含有 有足夠的空間。請參閱下列章節,瞭解記錄檔的儲存位置如何變更預設記錄檔 目錄
  • 每週至少刪除一次記錄檔,或將記錄檔移至另一個封存檔案。
  • 如果您的政策是刪除記錄,您可以使用 CLI 指令 edgemicro log -c 移除 (清除) 舊記錄。

記錄檔命名慣例

每個 Edge Microgateway 執行個體都會產生三種類型的記錄檔:

  • api:記錄通過 Edge 的所有要求和回應 Microgateway。API 計數器 (統計資料) 和錯誤也會記錄到這個檔案。
  • err - 記錄傳送至 stderr 的所有內容。
  • out - 記錄傳送至 stdout 的任何資訊。

命名慣例如下:

edgemicro-<Host Name>-<Instance ID>-<Log Type>.log

例如:

edgemicro-mymachine-local-MTQzNTgNDMxODAyMQ-api.log
edgemicro-mymachine-local-MTQzNTg1NDMODAyMQ-err.log
edgemicro-mymachine-local-mtqzntgndmxodaymq-out.log

關於記錄檔內容

已新增:v2.3.3

預設情況下,記錄服務會省略下載的 Proxy、產品和 JSON 中的 JSON Web Token (JWT)。如果您想將這些物件輸出到記錄檔,請設定 DEBUG=* 啟動 Edge Microgateway。例如:

DEBUG=* edgemicro start -o docs -e test -k abc123 -s xyz456

注意: 在 Windows 上,請使用 SET DEBUG=*

「API」的內容記錄檔

「api」記錄檔含有要求與回應流程的詳細資訊 通過 Edge Microgateway「api」記錄檔的命名方式如下:

edgemicro-mymachine-local-MTQzNjIxOTk0NzY0Nw-api.log

針對每個傳送至 Edge Microgateway 的要求,「api」會擷取四個事件記錄 檔案:

  • 用戶端傳入的要求
  • 對目標提出的傳出要求
  • 目標的傳入回應
  • 傳送給用戶端的傳出回應

這些不同的項目都會以簡寫標記表示,有助於記錄紀錄 檔案會更壓縮以下是四個項目範例,分別代表這四個事件。在記錄中 檔案,號碼看起來像這樣 (行號僅供文件中參照,並不包含 )。

(1) 1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
(2) 1436403888665 info treq m=GET, u=/, h=127.0.0.18080, i=0
(3) 1436403888672 info tres s=200, d=7, i=0
(4) 1436403888676 info res s=200, d=11, i=0

以下將逐一介紹:

1. 用戶端傳入要求的範例:

1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
  • 1436403888651:Unix 日期戳記
  • info - 視上下文而定。可能是資訊、警告或錯誤 則視記錄層級而定可以是統計資料記錄的統計資料、警示警告或 發生錯誤。
  • req:用來識別事件。在此情況下,從 用戶端。
  • m - 要求中使用的 HTTP 動詞。
  • u - 網址中基本路徑後的部分。
  • h - Edge Microgateway 所在的主機和通訊埠編號 。
  • r - 用戶端要求的遠端主機和通訊埠 。
  • i - 要求 ID。四個事件項目均會共用這個 ID。每項 會指派給每個要求的專屬要求 ID依據要求 ID 關聯記錄檔的記錄可提供 提供寶貴的深入分析資訊,讓我們能深入瞭解目標的延遲時間。
  • d - 收到要求後的時間長度 (以毫秒為單位) Edge Microgateway。在上述範例中,收到目標要求 0 的回應 7 毫秒 (第 3 行),然後額外 4 次即可將回應傳送到用戶端 毫秒 (第 4 行)。換句話說,要求總延遲時間為 11 毫秒, 目標花費 7 毫秒,而 Edge Microgateway 則是 4 毫秒 機器學習是向機器提供資料和答案 讓機器自行探索規則的科學

2. 向目標發出的外送要求範例:

1436403888665 info treq m=GET, u=/, h=127.0.0.1:8080, i=0
  • 1436403888651:Unix 日期戳記
  • info - 視上下文而定。可能是資訊、警告或錯誤 則視記錄層級而定可以是統計資料記錄的統計資料、警示警告或 發生錯誤。
  • treq - 用於識別事件。本例中的目標要求就是一個例子。
  • m - 目標要求中使用的 HTTP 動詞。
  • u - 網址中基本路徑後的部分。
  • h:後端目標的主機和通訊埠編號。
  • i - 記錄項目的 ID。四個活動項目會分享 編號。

3. 目標傳入回應的範例

1436403888672 info tres s=200, d=7, i=0

1436403888651:Unix 日期戳記

  • info - 視上下文而定。可能是資訊、警告或錯誤 則視記錄層級而定可以是統計資料記錄的統計資料、警示警告或 發生錯誤。
  • tres:用來識別事件。在這種情況下,目標回應。
  • s - HTTP 回應狀態。
  • d - 以毫秒為單位的持續時間。API 呼叫花費的時間
  • i - 記錄項目的 ID。四個活動項目會分享 編號。

4. 向用戶端傳出回應的範例

1436403888676 info res s=200, d=11, i=0

1436403888651:Unix 日期戳記

  • info - 視上下文而定。可能是資訊、警告或錯誤 則視記錄層級而定可以是統計資料記錄的統計資料、警示警告或 發生錯誤。
  • res:用於識別事件。在此情況下,回應的 用戶端。
  • s - HTTP 回應狀態。
  • d - 以毫秒為單位的持續時間。這是指花費的總時間 ,包括目標 API 花費的時間以及 Edge 花費的時間 Microgateway 本身。
  • i - 記錄項目的 ID。四個活動項目會分享 編號。

記錄檔排程

記錄檔會以 rotate_interval 設定 屬性。在輪替間隔前,項目會繼續加入同一個記錄檔 過期。不過,每次重新啟動 Edge Microgateway 時都會收到新的 UID,並 使用這個 UID 建立一組新的記錄檔另請參閱良好的記錄檔維護做法

邊緣微閘道設定 參照

所在位置 設定檔

本節說明的設定屬性位於 Edge Microgateway 中 設定檔如要進一步瞭解如何變更設定,請參閱變更設定

Edge_config 屬性

這些設定用於設定 Edge Microgateway 執行個體與 Apigee Edge。

  • bootstrap:(預設值:無) 指向 Edge 的網址 在 Apigee Edge 上執行的微型閘道專屬服務。Edge Microgateway 使用這項服務 與 Apigee Edge 通訊當您執行指令來產生 公開/私密金鑰組:edgemicro genkeys。詳情請參閱設定 並設定 Edge Microgateway
  • jwt_public_key:(預設值:無) 指向 Edge Microgateway 的網址 部署在 Apigee Edge 上的 Proxy這個 Proxy 做為 。當您執行指令 部署 Proxy:edgemicro configuration詳情請參閱設定 並設定 Edge Microgateway

Edgemicro 屬性

這些設定會設定 Edge Microgateway 程序。

  • port:(預設值:8000) Edge Microgateway 上的通訊埠編號 程序接聽。
  • max_connections:(預設值:-1) 指定 Pod 網路數量上限 可同時接收 Edge Microgateway 接收的連線。如果此數字 超過的話,系統會傳回下列狀態:

    res.statusCode = 429; // Too many requests
  • max_connections_hard:(預設值:-1) 同時連線數量上限 在關閉連線之前,Edge Microgateway 可以接收的要求。這項設定 目的在於遏阻阻斷服務攻擊。通常應該設為大於 100 的數字 max_connections.
  • logging
    • level:(預設:錯誤)
      • 資訊 - 記錄通過 Edge Microgateway 執行個體。
      • warn - 僅記錄警告訊息。
      • error - 僅記錄錯誤訊息。
    • dir:(預設值:/var/tmp) 記錄檔所在的目錄 儲存。
    • stats_log_interval:(預設值:60) 統計資料,以秒為單位 則會寫入 API 記錄檔
    • rotate_interval:(預設值:24) 間隔,以小時為單位,當記錄檔變成 模型也會自動旋轉。
  • dir:從 ./gateway 目錄到 ./plugins 目錄,或是絕對路徑。
  • sequence:要新增至 Edge Microgateway 的外掛程式模組清單 執行個體。模組將按照此處指定的順序執行。
  • 偵錯: 將遠端偵錯功能新增至 Edge Microgateway 程序。
    • port:要監聽的通訊埠編號。例如:設定 IDE 偵錯工具 監聽這個連接埠
    • args:偵錯程序的引數。例如:args --nolazy
  • config_change_poll_interval: (預設值:600 秒) Edge Microgateway 定期載入新設定,並在有任何變更時執行重新載入作業。輪詢 會擷取在 Edge 上所做的任何變更 (產品變更、微閘道感知 Proxy 等), 以及對本機設定檔所做的變更
  • disable_config_poll_interval: (預設值:false) 設定 設為 true關閉自動變更功能 輪詢。
  • request_timeout:設定目標要求的逾時時間。逾時設定的期限為 秒內請求驗證碼。如果逾時,Edge Microgateway 會以 504 狀態碼回應。(已新增 v2.4.x)

標題屬性

這些設定會指定特定 HTTP 標頭的處理方式。

  • x-forwarded-for:(預設值:true) 設為 false 即可防止 x-forwarded-for 標頭傳遞至目標。請注意,如果標頭為 x-forwarded-for 的值會設為 Edge Analytics 中的 client-ip 值。
  • x-forwarded-host:(預設值:true) 設為 false 即可防止 要傳遞至目標的 x-forwarded-host 標頭。
  • x-request-id:(預設值:true) 設為 false 即可防止 要傳遞至目標的 x-request-id 標頭。
  • x-response-time:(預設值:true) 設為 false 可防止 要傳遞至目標的 x-response-time 標頭。
  • via:(預設值:true) 設為 false,禁止透過標頭設為 並傳遞至目標

OAuth 屬性

這些設定會指定 Edge Microgateway 強制執行用戶端驗證的方式。

  • allowNoAuthorization:(預設值:false) 如果設為 true,API 呼叫就會 即可在不透過任何 Authorization 標頭的情況下通過 Edge Microgateway。設為 false 代表要求 Authorization 標頭 (預設)。
  • allowInvalidAuthorization:(預設值:false) 如果設為 true,API 呼叫就會 可以在 Authorization 標頭中傳遞的權杖無效或已過期時傳遞。設定此項目 設為 false 時,要求有效的權杖 (預設)。
  • 授權標頭:(預設值:Authorization: Bearer) 用於 將存取權杖傳送至 Edge Microgateway。建議您變更預設設定,以因應以下情形: 有其他用途時,目標必須使用 Authorization 標頭。
  • api-key-header:(預設值:x-api-key) 標頭或查詢的名稱 參數,用來將 API 金鑰傳送至 Edge Microgateway。另請參閱「使用 API 金鑰」一節。
  • keepAuthHeader:(預設值:false) 如果設為 true,則授權標頭 則會傳遞到目標 (會保留此值)。
  • allowOAuthOnly -- 如果設為「true」,則每個 API 都必須包含一個 包含不記名存取權杖的 Authorization 標頭。僅允許 OAuth 安全性 模型,同時保有回溯相容性。(新增 4.2.x)
  • allowAPIKeyOnly -- 如果設為「true」,則每個 API 都必須 具有 API Key.Allows 的 x-api-key 標頭 (或自訂位置) 僅允許 API 金鑰安全性模型 (同時維持回溯相容性)。 (新增 4.2.x)

特定外掛程式 屬性

如要進一步瞭解每個外掛程式可設定的屬性,請參閱使用外掛程式。

篩選 Proxy

您可以篩選 Edge Microgateway 執行個體將處理的微型閘道 Proxy。 Edge Microgateway 啟動時,會下載 與其他資源建立關聯請使用下列設定限制 可進行處理例如,以下設定可限制微閘道使用 Proxy 會處理至三個:edgemicro_proxy-1edgemicro_proxy-2、 和 edgemicro_proxy-3

proxies:
  - edgemicro_proxy-1
  - edgemicro_proxy-2
  - edgemicro_proxy-3

遮蓋數據分析資料

以下設定禁止要求路徑資訊顯示在 Edge 中 數據分析將下列程式碼新增至微閘道設定,以遮蓋要求 URI,和/或 要求路徑請注意,URI 包含要求的主機名稱和路徑部分。

analytics:
  mask_request_uri: 'string_to_mask'
  mask_request_path: 'string_to_mask'

在 公司防火牆

支援的 4.2.x 版

如果 Edge Microgateway 安裝在防火牆之後,閘道可能無法 與 Apigee Edge 通訊在此情況下,您可以考慮採用以下兩種做法:

選項 1:

第一個選項是將 Edgemicro: proxy_tunnel 選項設為 true 微閘道設定檔:

edge_config:

    proxy: http://10.224.16.85:3128
    proxy_tunnel: true

proxy_tunneltrue 時,Edge Microgateway 使用 HTTP CONNECT 方法,透過通道 HTTP 要求 單一 TCP 連線(如果使用環境變數來設定 Proxy,也是如此 已啟用 TLS)。

選項 2:

第二個選項是在 微閘道設定檔例如:

edge_config:
     proxy: http://10.224.16.85:3128
     proxy_tunnel: false

在這種情況下,您可以設定下列變數來控制每個 HTTP 的主機 要使用的 Proxy,或是哪些主機不應處理 Edge Microgateway Proxy:HTTP_PROXYHTTPS_PROXY、 和 NO_PROXY

您可以將 NO_PROXY 設為以半形逗號分隔的網域清單 Edge Microgateway 不應透過 Proxy 連線的目標。例如:

export NO_PROXY='localhost,localhost:8080'

HTTP_PROXYHTTPS_PROXY 設為 HTTP Proxy 端點 Edge Microgateway 可以傳送訊息。例如:

export HTTP_PROXY='http://localhost:3786'

export HTTPS_PROXY='https://localhost:3786'

如要進一步瞭解這些變數,請參閱:

https://www.npmjs.com/package/request#controlling-proxy-behaviour-using-environment-variables


另請參閱

如何在 Apigee 社群中,在公司防火牆後方設定 Edge Microgateway

在 Microgateway 感知功能中使用萬用字元 Proxy

您可以使用一或多個「*」萬用字元 edgemicro_* (可辨識微型閘道) Proxy。例如基礎路徑 /team/*/members 能讓客戶 呼叫 https://[host]/team/blue/membershttps://[host]/team/green/members 例如建立新的 API Proxy 來支援新的團隊注意事項 系統不支援 /**/

重要事項:Apigee 不支援使用萬用字元「*」作為 計算基礎路徑的第一個元素舉例來說,不得為 支援:/*/ 搜尋。


偵錯和 疑難排解

連線至偵錯工具

您可以搭配偵錯工具執行 Edge Microgateway,例如 node-inspector。這對於使用者 排解自訂外掛程式的問題及偵錯

  1. 以偵錯模式重新啟動 Edge Microgateway。方法是將 DEBUG=* 加入 起始位置。例如:

    DEBUG=* edgemicro start -o myorg -e test -k db4e9e8a95aa7fabfdeacbb1169d0a8cbe42bec19c6b98129e02 -s 6e56af7c1b26dfe93dae78a735c8afc9796b077d105ae5618ce7ed

    注意:在 Windows 上,請使用 SET DEBUG=*

  2. 啟動偵錯工具,並將其設定為監聽通訊埠號碼,以便偵錯程序。
  3. 您現在可以逐步執行 Edge Microgateway 程式碼、設定中斷點、觀察運算式 依此類推

您可以指定與偵錯模式相關的標準 Node.js 標記。例如: --nolazy 有助於對非同步程式碼進行偵錯。

檢查記錄檔

如果發生問題,請務必檢查記錄檔,取得執行詳情和錯誤 可能不準確或不適當詳情請參閱管理記錄檔

使用 API 金鑰安全性

API 金鑰提供簡單機制,可讓用戶端向 Edge 提出要求 Microgateway。只要複製用戶端金鑰 (也稱為 Client ID) 值,即可取得 API 金鑰 。

快取金鑰

API 金鑰會交換供快取的不記名權杖。您可以透過 對 Edge 發出的傳入要求上的 Cache-Control: no-cache 標頭 Microgateway。

使用 OAuth2 權杖安全性

如要進一步瞭解如何搭配使用 OAuth 權杖與 Proxy 要求,請參閱「安全 Edge Microgateway

使用 API 金鑰

如要進一步瞭解如何搭配使用 API 金鑰與 Proxy 要求,請參閱「確保安全 Edge Microgateway

設定 API 金鑰名稱

根據預設,x-api-key 是用於 API 金鑰標頭或查詢的名稱 參數。您可以在設定檔中變更這項預設設定,詳情請參閱「變更設定」。 對於 例如將名稱變更為 apiKey

oauth:
 allowNoAuthorization: false
 allowInvalidAuthorization: false
 api-key-header: apiKey