您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
總覽
本教學課程會逐步說明如何啟動及執行 Edge Microgateway 執行個體。
完成這些步驟後,您將擁有完整設定且可正常運作的 Edge Microgateway 安裝項目,能夠處理 API 要求。您將透過 Edge Microgateway 向後端目標發出安全 API 呼叫,測試設定。您也會瞭解如何將尖峰流量抑制外掛程式新增至 Microgateway。
本指南分為以下幾個部分:
- 必要條件: 安裝 Edge Microgateway
- 第 1 部分: 設定 Edge Microgateway
- 第 2 部分: 在 Apigee Edge 上建立實體
- 第 3 部分: 操作 Edge Microgateway
- 第 4 部分: 保護 Edge Microgateway 安全
- 第 5 部分: 新增尖峰流量防範外掛程式
- 第 6 部分: 查看 Apigee Edge 的 Analytics 資料
必要條件:安裝 Edge Microgateway
請按照「安裝 Edge Microgateway」一文中的操作說明進行。安裝完成後,即可按照本教學課程的步驟操作。
安裝完成後,請前往下一個部分「第 1 部分:設定 Edge Microgateway」。
第 1 部分:設定 Edge Microgateway
在本節中,您將使用指令列介面 (CLI) 指令,設定 Edge Microgateway 與 Apigee Edge 通訊。如果您使用 Apigee Edge Cloud,請按照Apigee Edge Cloud 設定步驟操作。如果您使用 Apigee Private Cloud,請按照 Apigee Edge Private Cloud 的步驟操作。
Apigee Edge Cloud 設定步驟
如要搭配使用 Edge Microgateway 與 Apigee Edge Cloud,請按照下列步驟操作:
- 如果先前未執行這項操作,請初始化 Edge Microgateway (這個步驟只需執行一次):
edgemicro init
- (選用) 列印 edgemicro configure 指令的說明:
edgemicro configure -h
- 執行下列指令來設定 Edge Microgateway:
edgemicro configure -o [org] -e [env] -u [username]
其中:
org是 Edge 機構名稱 (您必須是機構管理員)。env是您機構中的環境 (例如測試或實際工作環境)。username是與 Apigee 帳戶相關聯的電子郵件地址。
範例
edgemicro configure -o docs -e test -u jdoe@example.com
輸出內容
./edgemicro configure -o docs -e test -u jdoe@apigee.com password: current nodejs version is v6.1.0 current edgemicro version is 2.2.3-beta password: file doesn't exist, setting up Give me a minute or two... this can take a while... App edgemicro-auth deployed. creating vault adding private_key adding public_key configuring host edgemicroservices-us-east-1.apigee.net for region us-east-1 saving configuration information to: /Home/.edgemicro/wwitman-test-config.yaml vault info: -----BEGIN CERTIFICATE----- MIICpDCCAYwCCQCaDpaTttaDANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwls b2NhbGhvc3QwHhcNMTYxAxMjA0NzIyWhcNMTYxMTAyMjA0NzIyWjAUMRIwEAYD VQQDEwlsb2NhbGhvcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDA YbtbsFe50GgBrI8QTih5yzxxxvCfdubGrLWmovwwCCFthno3u8lS54ekOL9jQu JTJsocJfNhZxvnXifDsCk5Muwx87Z/D0BYLw9ZhM8TMyA2MCkXgC6RfKT69IdJ jT3X+3D0s+apr3lACsDhgOfaeQfeHAm1SSwH/VemaJqdImGkQMtM8uscMDwG6k vBbCSNS+hh6ZH1m3tAkcKXqvj/E1hbrHNTWr+uiYFRByUzeo1I607daQD4Lxid il4Ng3hr3LC1gEzvobWgVyhQ2ovYB57T886H7dGghTnOUxLm2y/TwmQya+44SL JSsDwauArMF38cRKZZ7VAgMBAAEwDQYJKoZIhvcNAQELBQADEBAHwwu+gOn8Tq jKOYBTXtOX11HPMTxmyvZ/I57R4roE7Z/lXg/DXwbiFpFG2uamXNKq7yTDJH2i iiqdERZOGfv7TJMjRlxEnfVHoCV7UKguKq4zeeAEU2x55yFwpWNrarx0kMXRwI v3WgGfo2bimFQrCjDCNIkDKmYYt4SXIF5zUJmBWPCaK9aJoQb7ARXQO9s2zoOI XZ5bCUDbehQZ+6LyqC0hgDXiIZYy7R0j93yCbQgoHaHUMEprJEEjE24SHdsWBO nxGZxB20JLq5AHTm8lbZp7XtvbU0jVpxyrBo2/olFnmpvBVOq9eIp042IVD7nT J4rPejdK6C4= -----END CERTIFICATE----- The following credentials are required to start edge micro key: e88ec9d5da17cd88ca338d532b7c7a8c4f43ddd3da139d95955ab345af30352d secret: d7f64854eb6889d06b809dd7c161dba5eeba4a2657277fd819921bf992221a8f edgemicro configuration complete!
Apigee Private Cloud 設定步驟
如要搭配使用 Edge Microgateway 與 Apigee Private Cloud,請按照下列步驟操作:
- 列印 edgemicro private configure 指令的說明資訊。您可以透過這種方式,列印任何 Edge Microgateway CLI 指令或指令選項的說明。
edgemicro private configure -h
- 執行下列指令。您必須提供 Apigee Edge 私有雲帳戶的標準資訊:機構名稱、環境名稱、使用者名稱 (電子郵件位址)、密碼、管理伺服器 IP 和路由器 IP。您必須是 Edge 機構管理員,才能使用這項指令:
edgemicro private configure -o [org] -e [env] -u [username] -r [runtime_url] -m [mgmt_url] -v [virtual_host]
其中:
org是 Edge 機構名稱 (您必須是機構管理員)。env是貴機構的環境 (例如測試或實際工作環境)。runtime_url是私有雲執行個體的執行階段網址。mgmt_url是私有雲執行個體的管理伺服器網址。username是與 Apigee 帳戶相關聯的電子郵件地址。-
virtual_host是以半形逗號分隔的虛擬主機名稱清單。預設值為default,secure
範例
edgemicro private configure -o docs -e test -u jdoe@example.com -r http://192.162.52.106:9001 -m http://192.162.52.106:8080 -v default
或者,如果您有 myorg-test.mycompany.com 的虛擬主機別名,則可以使用如下指令:
edgemicro private configure -o docs -e test -u jdoe@example.com -r myorg-test.mycompany.com -m http://192.162.52.106:8080 -v default
輸出內容
delete cache config checking for previously deployed proxies configuring edgemicro internal proxy deploying edgemicro internal proxy deploying edgemicro-auth app copy auth app into tmp dir copy config into tmp deer Give me a minute or two... this can take a while... App edgemicro-auth added to your org. Now adding resources. checking org for existing vault creating vault adding private_key adding public_key configuring host http://192.168.52.106:9001 for region dc-1 saving configuration information to: /Users/ApigeeCorporation/.edgemicro/jdoe-test-config.yaml vault info: -----BEGIN CERTIFICATE----- MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWxKWBDP9o Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik245yfBku7olooXKRKTRKOUoXa q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz pFkIxepyr/0= -----END CERTIFICATE----- The following credentials are required to start edge micro key: a3f8f3dfe39158fc3c50b274f0af2234246e0d5f6ea4dd09389b645147151ba3 secret: 3e9904802fb3c0e8ca408128a11119cf13546d54dac30ace944c097a726a1263 edgemicro configuration complete!
驗證安裝
執行下列指令來驗證安裝作業。如果沒有回報任何錯誤,表示一切設定正確,您將能順利啟動 Edge Microgateway。
edgemicro verify -o [org] -e [env] -k [key] -s [secret]
其中:
org是 Edge 機構名稱 (您必須是機構管理員)。env是您機構中的環境 (例如測試或實際工作環境)。key是先前由 configure 指令傳回的金鑰。secret是先前由 configure 指令傳回的金鑰。
範例
edgemicro verify -o docs -e test -k 93b01fd21d86331459ae52f664ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0556d7132afbd03625bbd85dc34ebfefae4f23fbcb3c
關於設定
目前為止的所有設定,都是為了讓 Edge Microgateway 自行啟動至 Apigee Edge。啟動程序成功後,Edge Microgateway 會從 Apigee Edge 擷取其他設定資訊的酬載。
這項設定資訊的用途為何?如本教學課程的下一部分所述,Edge Microgateway 啟動時,需要從 Apigee Edge 接收 Edge Microgateway 感知的特殊 API Proxy 清單。在本教學課程的下一部分,您將建立可辨識 Microgateway 的 Proxy。Edge Microgateway 會限制用戶端,只能呼叫這些 Microgateway 感知的 API Proxy 所代理的 API,且用戶端必須 (預設) 為每次呼叫提供有效的安全性權杖。如要進一步瞭解這些 Proxy,請參閱「Edge Microgateway 總覽」中的「您需要瞭解 Edge Microgateway 感知 Proxy 的哪些事項」。
Edge 機構組織管理員會想知道,Edge Microgateway 感知 Proxy 可以新增至 Edge 產品,就像其他 Proxy 一樣。使用產品和開發人員應用程式,即可產生用戶端專屬的安全權杖,控管透過 Edge Microgateway 呼叫的 API 存取權。同樣地,所用的模式與在 Apigee Edge 上使用任何 API Proxy、產品和開發人員應用程式時相同。如要瞭解產品,請先參閱 Edge 說明文件中的「什麼是 API 產品?」。
接著,我們將逐步說明如何建立可辨識 Edge Microgateway 的 Proxy,然後啟動 Edge Microgateway 並測試設定。
第 2 部分:在 Apigee Edge 建立實體
在本節中,您將在 Edge 上建立下列實體:
- 微閘道感知 Proxy:這是特殊的 Proxy,Edge Microgateway 啟動時可以探索到。支援微閘道的 Proxy 必須遵循命名慣例,名稱開頭必須是
edgemicro_。例如edgemicro_hello或edgemicro_userinfo。 Edge Microgateway 啟動時,會從 Edge 擷取微型閘道感知 Proxy 清單,這些 Proxy 來自您啟動 Edge Microgateway 時指定的 Edge 機構和環境。
對於每個可感知微閘道的 Proxy,Edge Microgateway 會擷取 Proxy 的目標網址和基準路徑。此外,透過 Microgateway 感知的 Proxy,您可以輕鬆將 Edge Microgateway 產生的數據分析資料,與 Edge 平台上的 Proxy 建立關聯。由於 Microgateway 會處理 API 呼叫,因此會以非同步方式將 Analytics 資料推送至 Edge。Analytics 資料會顯示在 Edge Analytics 使用者介面中,位於微閘道感知 Proxy 名稱下方,與其他 Proxy 相同。
- 產品、開發人員和開發人員應用程式 - Edge Microgateway 會使用產品、開發人員和開發人員應用程式,啟用 OAuth2 存取權杖或 API 金鑰安全機制。Edge Microgateway 啟動時,會從 Apigee Edge 機構下載所有產品設定。並使用這項資訊,透過 API 金鑰或 OAuth2 存取權杖,驗證透過 Edge Microgateway 發出的 API 呼叫。
瞭解詳情:另請參閱「Edge Microgateway 總覽」中的「Edge Microgateway 感知 Proxy 須知」。
1. 在 Edge 上建立 Edge Microgateway 感知的 API Proxy
- 登入 Apigee Edge 上的機構。
- 按一下「切換至傳統版」,即可前往 Edge 傳統版 UI。
- 從頂端選單選取「API」>「API Proxy」。
- 在「API Proxies」頁面中,按一下「+ API Proxy」。
- 在「Build a Proxy」精靈中,選取「Reverse proxy (most common)」。
- 點選 [下一步]。
- 在精靈的「詳細資料」頁面中,進行下列設定。請務必按照畫面所示,填寫精靈:
- Proxy 名稱:edgemicro_hello
- Proxy 底層路徑:/hello
- 現有 API:http://mocktarget.apigee.net/
- 點選 [下一步]。
- 在精靈的「安全性」頁面中,選取「Pass through (none)」(直通 (無))。
- 點選 [下一步]。
- 在精靈的「虛擬主機」頁面中,接受預設值。
- 點選 [下一步]。
- 在精靈的「建構」頁面中,檢查 Proxy 設定。確認已選取「測試」環境。
- 按一下「Build and Deploy」(建構及部署)。
2. 建立產品
建立包含兩個 Proxy 的產品:
- 支援微型閘道的 Proxy:edgemicro_hello
- Edge Microgateway 安裝的驗證 Proxy:edgemicro-auth。
- 在 Edge UI (傳統版) 中,依序前往「發布」>「產品」。
- 在「產品」頁面中,按一下「+ 產品」,按照下列方式填寫「產品詳細資料」頁面:
- 名稱:EdgeMicroTestProduct
- 顯示名稱:EdgeMicroTestProduct
- 環境:測試和正式版
- 存取權:公開
- 金鑰核准類型:自動
-
資源:
- API Proxy:選取 edgemicro_hello
- 修訂版本:1
- 資源路徑: /**
- 按一下「匯入資源」。
- 在「Resources」中,按一下「+API Proxy」。
- 選取「edgemicro-auth」
- 按一下 [儲存]。
3. (選用) 建立測試開發人員
在本教學課程中,您可以使用任何現有開發人員進行下一步,也就是建立開發人員應用程式。但如果您願意,現在可以建立測試開發人員:
- 依序前往「發布」>「開發人員」。
- 在「產品」頁面中,按一下「+ 開發人員」。
- 填寫對話方塊,建立測試開發人員。
4. 建立開發人員應用程式
您將使用這個應用程式的用戶端憑證,透過 Edge Microgateway 發出安全的 API 呼叫:
- 依序前往「發布」>「開發人員應用程式」。
- 在「開發人員應用程式」頁面中,按一下「+ 開發人員應用程式」。
- 按照下列方式填寫「開發人員應用程式」頁面:
- 名稱:EdgeMicroTestApp
- 顯示名稱:EdgeMicroTestApp
- 開發人員:如果您已建立測試開發人員,請選取該開發人員。或者,您可以使用任何現有開發人員進行本教學課程。
-
憑證:
- 選取「到期時間」:永不。
- 按一下「+ 產品」,然後選取「EdgeMicroTestProduct」 (您剛建立的產品)。
- 按一下 [儲存]。
- 您會返回「開發人員應用程式」清單頁面。
- 選取剛建立的應用程式「EdgeMicroTestApp」EdgeMicroTestApp。
- 按一下「用戶端金鑰」和「用戶端密鑰」旁的「顯示」。

第 3 部分:操作 Edge Microgateway
您已設定 Edge Microgateway,且 Edge 上至少有一個可辨識 Edge Microgateway 的 Proxy,現在可以啟動 Edge Microgateway。Edge Microgateway HTTP 伺服器會在您的本機電腦上執行,您將直接對該伺服器發出 API 呼叫。
1. 啟動 Edge Microgateway
使用 edgemicro start 指令啟動 Edge Microgateway。
- 請務必備妥先前執行 edgemicro configure 指令時傳回的金鑰。輸出內容大致如下:
You need key and secret while starting edgemicro instance key: da4778e7c240a5d4585fc559eaba5083328828ac9f3a7f583e8b73e secret: 3aad7439708b4aeb38ee08e87189921ad00e6fc1ba8a8ae9f929ee2
- (選用) 列印
edgemicro start指令的說明資訊。
edgemicro start -h
- 如要啟動 Edge Microgateway,請執行下列指令:
edgemicro start -o [org] -e [env] -k [key] -s [secret]
其中:
org是 Edge 機構名稱 (您必須是機構管理員)。env是您機構中的環境 (例如測試或實際工作環境)。key是先前由 configure 指令傳回的金鑰。secret是先前由 configure 指令傳回的金鑰。
範例
edgemicro start -o docs -e test -k 701e70e718ce6dc1880616b3c39177d64a88754d615c7a4e1f78b6181d000723 -s 05c14356e42d136b83dd135cf8a18531ff52d7299134677e30ef4e34ab0cc824
輸出內容
啟動指令會從 Apigee Edge 擷取大量設定資訊 (這些資訊會捲動到終端機視窗中)。輸出內容會顯示探索到的微閘道感知 Proxy 和產品清單。輸出內容的結尾應如下所示:
... PROCESS PID : 9757 installed plugin from analytics installed plugin from oauth eb725020-a2b0-11e6-8a52-6de156e3a6e2 edge micro listening on port 8000 installed plugin from analytics installed plugin from oauth installed plugin from analytics installed plugin from oauth installed plugin from analytics installed plugin from oauth eb77ce60-a2b0-11e6-8a88-b96278c0c198 edge micro listening on port 8000 eb78b8c0-a2b0-11e6-bf36-717b986c91fe edge micro listening on port 8000 eb77f570-a2b0-11e6-883e-472b9104351e edge micro listening on port 8000
狀況說明
查看執行 edgemicro config 指令的終端機。 向上捲動標準輸出內容,您會發現這個指令從 Apigee Edge 擷取了 Edge Microgateway 設定資訊的酬載。這類資訊包括:
- 我們先前在 Apigee 保管庫中建立及儲存的公開金鑰。
- 以 JSON 格式表示機構/環境中所有支援 Edge Microgateway 的 Proxy。這些都是以 edgemicro_ 前置字串命名的所有 Proxy。
- 以 JSON 格式表示機構/環境中所有現有的 API 產品。
Edge Microgateway 會根據這項資訊,判斷允許處理哪些 Proxy 和 Proxy 路徑。系統會使用產品資訊來強制執行安全性 (與 Apigee Edge 上的任何 API Proxy 完全相同,開發人員應用程式金鑰會與產品建立關聯)。我們稍後會說明如何保護 Edge Microgateway。
2. 測試 Edge Microgateway
Edge Microgateway 執行後,您就可以呼叫 Proxy。啟動 Edge Microgateway 時,系統會從 Edge 下載 edgemicro_hello Proxy 的設定。請注意,Proxy 的基本路徑為 /hello。
如要測試 Edge Microgateway,請從基本路徑開始,然後新增資源路徑 /echo。請注意,基準路徑後的所有內容 (包括任何查詢參數) 都會直接傳遞至後端目標:
curl -i http://localhost:8000/hello/echo
{"error":"missing_authorization","error_description":"Missing Authorization header"}這是因為您未在要求中傳送有效的 API 金鑰或存取權杖。根據預設,Edge Microgateway 會要求每次 API 呼叫都必須提供 API 金鑰或存取權杖。在本教學課程的下一個步驟中,我們會妥善保護這個 API,並說明如何取得有效的存取權杖,以及將權杖納入要求中。
4. 停止 Edge Microgateway
- 在另一個終端機視窗中,
cd前往您啟動 Edge Microgateway 的目錄。 - 輸入停止指令:
edgemicro stop
第 4 部分:保護 Edge Microgateway 安全
您可以透過 API 金鑰或存取權杖,確保透過 Edge Microgateway 發出的 API 呼叫安全無虞。
使用 OAuth2 存取權杖確保 API 呼叫安全
如要使用 OAuth2 存取權杖驗證 API 呼叫,請按照下列步驟操作:
1. 取得必要金鑰
- 在 Edge UI 中,前往先前建立的開發人員應用程式,如「第 2 部分:在 Apigee Edge 上建立實體」所述。應用程式名稱為 EdgeMicroTestApp。
- 在「開發人員應用程式」頁面中,顯示用戶端金鑰和用戶端密鑰,然後複製這些金鑰。您必須提供這些值,才能在下一個步驟中取得存取權杖。
2. 取得存取權杖
取得存取權杖的方法有兩種。我們將說明這兩種方法。
使用 CLI 取得存取權杖
第一種方法很方便,而且符合我們在整個教學課程中使用的模式。第二種方法通常對需要要求權杖的用戶端應用程式開發人員更有用。實際的權杖端點是在您設定 Edge Microgateway 時部署的 edgemicro-auth Proxy 中實作。
- (選用) 查看 token get 指令的說明:
edgemicro token get -h
- 產生權杖,並在 -i 和 -s 參數中,替換您在 Apigee Edge 上建立的開發人員應用程式中的用戶端金鑰和用戶端密鑰值:
edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]
其中:
org是 Edge 機構名稱 (您必須是機構管理員)。env是您機構中的環境 (例如測試或實際工作環境)。consumer_id是您先前建立的開發人員應用程式中的消費者 ID。consumer_secret是您先前建立的開發人員應用程式中的消費者密鑰。
範例
edgemicro token get -o docs -e test -i G0IAeU864EtBo99NvUbn6Z4CBwVcS2 -s uzHTbwNWvoSmOy
輸出內容 (範例)
current nodejs version is v4.4.4 { token: 'eyJ0eXAiOiJKV1QiLCJhbGciSUzI1NiJ9.eyJhcHBsaWNhdGl vbl9uYW1lIjoiNWNiMGY0tOWMzOC00YmJjLWIzNzEtZGMxZTQzOGYxZGMxI iwiY2xpZW50X2lkIjoiNVVdBWEdvSU9lbzYwYWV3OTRQN0c1TUFaRTNhSnA iLCJzY29wZXMiOltdLCJhcGlfcHJvjdF9saXN0IjpbIkVkZ2VNaWNyb1Rlc 3RQcm9kdWN0IlmlhdCI6MTQ3ODIwODMzMiwiZXhwIjoxNDc4MjEwMTMxfQ. v3Q8Rs0W9FO_XpERwIAMMXhjGamRmmmWgrAy1wJv0-99oajx5ASI5qjNubM nCF14xxwlVXHcz1VfedA8Nx7Ih145zhWWuPKL9muzhXXnVBRFeBMeeLqJk4 QQ7Bhst7xH_68nJSTE20Egu95DHOCUemfrepDFH0VggY4BmzvwLkBNfz_te E_YqwKZbpGOLMdKK1vMk0fk0x19SieIMS_aJYeOAklrzUhnFxWJFrsAWsax NLx_BbQcZzYfK1JSDUrhRNVBuPHMnGjNA_oHw2J4qa6Hsp62PfchG-DIW_t -0BFnYf3rYXmqyNORqFrOMdl4VxqQ' }
(選用) 使用 API 取得權杖
如果您習慣使用 curl 或其他 HTTP 用戶端呼叫 Edge Proxy,可能會想知道可以直接呼叫權杖端點,不必使用 edgemicro token 指令。以下是 curl 範例。只要在網址中代入貴機構和環境名稱,並在基本驗證標頭中傳遞以半形冒號分隔的用戶端金鑰:用戶端密鑰值即可:
curl -i -X POST --user [client_id]:[client_secret] "http://[org]-[env].apigee.net/edgemicro-auth/token" -d '{"grant_type": "client_credentials"}' -H "Content-Type: application/json"
其中:
org是 Edge 機構名稱 (您必須是機構管理員)。env是您機構中的環境 (例如測試或實際工作環境)。client_id是您先前建立的開發人員應用程式中的消費者 ID。client_secret是您先前建立的開發人員應用程式中的消費者密鑰。
輸出內容 (範例)
無論您是使用 edgemicro token CLI 指令,還是使用 curl 呼叫端點,該指令都會傳回簽署的存取權杖,可用於發出用戶端呼叫。如下所示:
MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWxKWBDP9o
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik245yfBku7olooXKRKTRKOUoXa
q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd
xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho
7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L
hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j
gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ
57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X
s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd
ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ
1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz
pFkIxepyr/0=
3. 檢查 Edge Microgateway 中的設定
- 開啟檔案「~
/.edgemicro/org-env-config.yaml.See also "Where is Edge Microgateway installed" in Installing Edge Microgateway」。 - 請確認這些 OAuth 外掛程式屬性已設為 false。這些屬性預設為 false,但建議您仔細檢查:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false
- 同樣在
org-env-config.yaml檔案中,請務必將 oauth 外掛程式新增至plugins:sequence元素,如下所示:plugins: dir: ../plugins sequence: - oauth
- 如果變更檔案,請重新載入變更,將變更載入執行中的 Edge Microgateway 執行個體。這項指令會重新設定 Edge Microgateway,且不會造成任何停機時間:
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
其中:
org是 Edge 機構名稱 (您必須是機構管理員)。env是您機構中的環境 (例如測試或實際工作環境)。key是先前由 configure 指令傳回的金鑰。secret是先前由 configure 指令傳回的金鑰。
範例
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
4. 安全地呼叫 API
取得存取權杖後,您現在可以安全地呼叫 API。例如:
curl -i -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhcHBsaWNhdGlvbl 9uYW1lIjoiYmU2YmZjYjAtMWQ0Ni00Y2IxLWFiNGQtZTMxNzRlNTAyMDZkIiwiY2xpZW50X2lkIjoiOGxTTTVIRHdyM VhIT1ZwbmhURExhYW9FVG5STVpwWk0iLCJzY29wZXMiOltdLCJhcGlfcHJvZHVjdF9saXN0IjpbIk1pY3JvZ2F0ZXdh eVRlQcm9kdWN0Il0sImCI6MTQzNTM0NzY5MiwiZXhwIjoxNDM1MzQ5NDkxfQ.PN30Y6uK1W1f2ONPEsBDB_BT31c6 IsjWGfwpz-p6Vak8r767tAT4mQAjuBpQYv7_IU4DxSrnxXQ_q536QYCP4p4YKfBvyqbnW0Rb2CsPFziy_n8HIczsWO s0p4czcK63SjONaUpxV9DbfGVJ_-WrSdqrqJB5syorD2YYJPSfrCcgKm-LpJc6HCylElFDW8dHuwApaWcGRSV3l5Wx 4A8Rr-WhTIxDTX7TxkrfI4THgXAo37p3au3_7DPB_Gla5dWTzV4j93xLbXPUbwTHzpaUCFzmPnVuYM44FW5KgvBrV0 64RgPmIFUxSqBWGQU7Z1w2qFmWuaDljrMDoLEreI2g" http://localhost:8000/hello/echo
API 會從模擬伺服器傳回標頭和其他資訊。
使用 API 金鑰保護 API
如要使用 API 金鑰進行授權,請按照下列步驟操作:
1. 取得 API 金鑰
- 在 Edge UI 中,前往先前建立的開發人員應用程式,如「第 2 部分:在 Apigee Edge 上建立實體」所述。應用程式名稱為 EdgeMicroTestApp。
- 在「開發人員應用程式」頁面中,顯示並複製「消費者金鑰」。這個值是 API 金鑰。您將使用這個金鑰發出經過驗證的 API 呼叫。
2. 檢查 Edge Microgateway 中的設定
- 開啟檔案「~
/.edgemicro/org-env-config.yaml.See also "Where is Edge Microgateway installed" in Installing Edge Microgateway」。 - 請確認這些 OAuth 外掛程式屬性已設為 false。這些屬性預設為 false,但建議您仔細檢查:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false
- 同樣在
org-env-config.yaml檔案中,請務必將 oauth 外掛程式新增至plugins:sequence元素,如下所示:plugins: dir: ../plugins sequence: - oauth - 如果變更檔案,請重新載入變更,將變更載入執行中的 Edge Microgateway 執行個體。這項指令會重新設定 Edge Microgateway,且不會造成任何停機時間:
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
其中:
org是 Edge 機構名稱 (您必須是機構管理員)。env是您機構中的環境 (例如測試或實際工作環境)。key是先前由 configure 指令傳回的金鑰。secret是先前由 configure 指令傳回的金鑰。
範例
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
3. 使用 API 金鑰安全地呼叫 API
使用 x-api-key 標頭呼叫 API,如下所示。您從開發人員應用程式複製的「Consumer Key」值就是 API 金鑰。根據預設,Edge Microgateway 會要求您在名為 x-api-key 的標頭中傳遞金鑰,如下所示:
curl -i http://localhost:8000/hello/echo -H "x-api-key: [apikey]"
其中:
apikey是從 EdgeMicroTestApp 取得的 Consumer Key 值。
例如:
curl -i http://localhost:8000/hello/echo -H 'x-api-key: XsU1R4zGXz2ERxa0ilYQ5szwuljr5bB'
現在,您已擁有功能完整且安全的 Edge Microgateway。在本教學課程的下一部分,我們將瞭解可為 Edge Microgateway 新增功能的外掛程式。
第 5 部分:新增尖峰流量防範外掛程式
在本節中,我們將在 Edge Microgateway 執行個體中新增名為尖峰抑制的速率限制功能。
什麼是外掛程式?
外掛程式是 Node.js 模組,可為 Edge Microgateway 新增功能。外掛程式模組遵循一致的模式,並儲存在 Edge Microgateway 已知的位置,因此微型閘道可以自動探索及載入這些模組。如要進一步瞭解外掛程式,請參閱「使用外掛程式」。
新增尖峰流量防範外掛程式
Spike Arrest 可防範流量暴增。這項功能會限制 Edge Microgateway 執行個體處理的要求數量。
在 Edge Microgateway 中,尖峰流量防護功能是以外掛程式模組的形式實作。如要啟用這項功能,請將其新增至 Edge Microgateway 設定檔。
- 開啟檔案「~
/.edgemicro/org-env-config.yaml.See also "Where is Edge Microgateway installed" in Installing Edge Microgateway」。 - 新增下列元素。您可以將其新增至檔案中的任何位置。
spikearrest: timeUnit: minute allow: 10 buffersize: 0 - 將
spikearrest新增至edgemicro:sequence元素,如下所示。序列設定屬性會告知 Edge Microgateway 外掛程式模組的執行順序。edgemicro: home: ../gateway port: 8000 max_connections: -1 max_connections_hard: -1 logging: level: info dir: /var/tmp stats_log_interval: 60 plugins: dir: ../plugins sequence: - spikearrest - oauth
- 儲存設定檔。
- 使用 reload 指令重新載入 Edge Microgateway。您必須從啟動 Edge Microgateway 的目錄執行這項指令。
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
其中:
org是 Edge 機構名稱 (您必須是機構管理員)。env是您機構中的環境 (例如測試或實際工作環境)。key是先前由 configure 指令傳回的金鑰。secret是先前由 configure 指令傳回的金鑰。
範例
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
- 請嘗試快速連續呼叫 API 數次。第二次呼叫後,Edge Microgateway 會傳回下列錯誤:
{"message":"SpikeArrest engaged","status":503}
這是因為尖峰抑制功能會平滑化指定時間單位內的通話次數。因此,在這種情況下,您可以在一分鐘內撥打 10 通電話,或每 6 秒撥打一通電話。
詳情請參閱「使用外掛程式」一文中的「尖峰抑制功能如何運作?」。
額外學分:新增配額外掛程式
按照設定尖峰抑制的相同模式,您可以新增其他外掛程式,例如配額外掛程式。與尖峰流量抑制功能一樣,配額外掛程式會隨附於每個 Edge Microgateway 安裝套件。配額會指定應用程式在指定時間間隔 (分鐘或小時) 內,可向 API 提交的要求訊息數量。
如要瞭解配額的運作方式,請參閱「使用外掛程式」一文中的「使用配額外掛程式」一節。
第 6 部分:在 Apigee Edge 上查看數據分析
我們現在有可正常運作的 Edge Microgateway 執行個體,讓我們看看它做了什麼! 根據預設,分析外掛程式模組會新增至 Edge Micro。這個模組會將 Edge Micro 的 Analytics 資料無聲推送至 Apigee Edge,供 Edge Analytics 系統使用。請參閱以下範例:
- 登入 Apigee Edge 上的機構。
- 選取「數據分析」>「Proxy 成效」。
- 在 Proxy 效能資訊主頁中,選取 edgemicro_hello proxy。
- 圖表會顯示 Proxy 的流量模式相關資訊,例如總流量、平均回應時間、平均目標回應時間等。
如要進一步瞭解 Edge Analytics 資訊主頁,請參閱 Edge 說明文件中的 Analytics 資訊主頁首頁。如要進一步瞭解外掛程式,請參閱「使用外掛程式」一文。