查看 Apigee Edge 說明文件。
前往
Apigee X說明文件。 資訊
問題
在 Private Cloud 中,在 Edge UI 中追蹤 API 時,您會看到 追蹤記錄視窗的「Status」欄中的 HTTP 304 回應:
錯誤訊息
沒有錯誤訊息 - API Proxy 呼叫實際上傳回成功 例如 HTTP 200不過,Edge UI 中的追蹤記錄視窗會顯示 HTTP 304 回應,且不會收集追蹤資料。
可能原因
在 Private Cloud 適用的 Edge 中,Edge UI 會嘗試追蹤 API Proxy 透過私人 IP 位址存取
Edge UI 中的追蹤工具可以傳送 API 要求至任何網址。 在部署情境中,Edge UI 與其他內部的內部代管 惡意使用者可能會濫用追蹤工具向 或向 Google Cloud 透過私人 IP 位址 (例如 localhost 或 127.0.0.1) 建立私人 IP 位址
在正式環境中,您通常會保留預設值,以防止 防止使用者追蹤私人 IP 位址 例如 Edge UI 的公開版本
不過,若是內部開發或測試環境,您可以 允許您的 API 開發人員追蹤任何 IP 位址。 通常,開發/測試環境會位在不會受監控的防火牆後面 。
注意: 最佳做法是保留預設值 可防止在開發/測試環境中追溯存取私人 IP 位址的情形。 否則你在遇到這種情況時 就必須啟用這項功能
原因:嘗試透過私人 IP 位址存取 API Proxy
根據預設,Edge 的 Edge UI 會防止使用者 追蹤透過私人 IP 位址發出的 API 呼叫。 私人 IP 位址清單包括:
- 回送位址 (127.0.0.1 或 localhost)
- 站臺本機位址 (如為 IPv4 至 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)
- 任何本機位址 (解析至 localhost 的任何位址)
舉例來說,下列 curl 指令會使用 127.0.0.1 的 IP 位址,會被視為私人 IP 位址:
curl http://127.0.0.1:9001/myapiproxy
在這個呼叫的追蹤記錄視窗中,即使 curl 指令傳回成功,您仍會看到 HTTP 304 回應。
解析度
如要讓 Edge UI 追蹤 Edge 的私人 IP 位址,
請在 ui.properties
中設定下列權杖:
conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"
如何設定這項屬性:
- 在編輯器中開啟
ui.properties
檔案。如果檔案確實 不存在,請先建立。
vi /opt/apigee/customer/application/ui.properties
- 將下列屬性設為 true:
conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"
- 將變更儲存至「
ui.properties
」。 - 請確定屬性檔案的擁有者為「apigee」使用者:
chown apigee:apigee /opt/apigee/customer/application/ui.properties
- 重新啟動 Edge UI:
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
Edge UI 現在可以在追蹤工具中存取私人 IP 位址。
日後如要禁止 UI 透過私人 IP 位址追蹤要求,
編輯 ui.properties
,將屬性設為 false
和
然後重新啟動 Edge UI
相關文件 (選用)
如需詳細資訊,請參閱 允許 Edge UI 存取本機 IP 位址。