Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến
Tài liệu về Apigee X. thông tin
Edge Microgateway phiên bản 2.5.x
Chủ đề này thảo luận cách quản lý và định cấu hình Edge Microgateway.
Nâng cấp Edge Microgateway nếu bạn có kết nối Internet
- Thực thi lệnh
npm
sau đây để nâng cấp lên phiên bản Edge mới nhất Cổng nhỏ:npm upgrade edgemicro -g
Để nâng cấp lên một phiên bản cụ thể của Edge Microgateway, bạn cần chỉ định phiên bản number trong lệnh nâng cấp. Nếu bạn không chỉ định số phiên bản, phiên bản mới nhất sẽ được cài đặt. Ví dụ: để nâng cấp lên phiên bản 2.5.26, hãy sử dụng sau đây:
npm upgrade edgemicro@2.5.26 -g
- Kiểm tra số phiên bản. Ví dụ: nếu bạn đã cài đặt phiên bản 2.5.26:
edgemicro --version current nodejs version is v8.9.0 current edgemicro version is 2.5.26
- Cuối cùng, hãy nâng cấp lên phiên bản mới nhất của proxy edgemicro-auth:
edgemicro upgradeauth -o org_name -e env_name -u username
Thay đổi cấu hình
Các tệp cấu hình bạn cần biết bao gồm:
- Tệp cấu hình hệ thống mặc định
- Tệp cấu hình mặc định cho một phiên bản Edge Microgateway mới khởi tạo
- Tệp cấu hình động cho các phiên bản đang chạy
Phần này thảo luận về các tệp này và những điều bạn cần biết về cách thay đổi chúng.
Cấu hình hệ thống mặc định tệp
Khi bạn cài đặt Edge Microgateway, tệp cấu hình hệ thống mặc định sẽ được đặt ở đây:
prefix/lib/node_modules/edgemicro/config/default.yaml
Trong đó prefix là thư mục tiền tố npm
. Xem
Edge Microgateway được cài đặt ở đâu nếu bạn không tìm được thư mục này.
Nếu thay đổi tệp cấu hình hệ thống, bạn phải khởi động lại, định cấu hình lại và khởi động lại Edge Cổng nhỏ:
edgemicro initedgemicro configure [params]
edgemicro start [params]
Tệp cấu hình mặc định cho các thực thể Edge Microgateway mới khởi tạo
Khi bạn chạy edgemicro init
, tệp cấu hình hệ thống (được mô tả)
ở trên), default.yaml
, được đặt trong thư mục ~/.edgemicro
.
Nếu thay đổi tệp cấu hình trong ~/.edgemicro
, bạn phải định cấu hình lại và khởi động lại
Cửa nhỏ có cạnh:
edgemicro stopedgemicro configure [params]
edgemicro start [params]
Động tệp cấu hình cho các phiên bản đang chạy
Khi bạn chạy edgemicro configure [params]
, một thuộc tính động
tệp cấu hình được tạo trong ~/.edgemicro
. Tệp được đặt tên theo
mẫu: org-env-config.yaml
, trong đó org và
env là
tên môi trường và tổ chức Apigee Edge của bạn. Bạn có thể sử dụng tệp này để tạo cấu hình
các thay đổi, sau đó tải lại chúng với thời gian ngừng hoạt động bằng 0. Ví dụ: nếu bạn thêm và định cấu hình một trình bổ trợ,
bạn có thể tải lại cấu hình mà không làm ảnh hưởng đến thời gian ngừng hoạt động, như được giải thích bên dưới.
Nếu Edge Microgateway đang chạy (tuỳ chọn thời gian ngừng hoạt động bằng 0):
- Tải lại cấu hình Edge Microgateway:
edgemicro reload -o org_name -e env_name -k key -s secret
Trong trường hợp:
- org_name là tên tổ chức của bạn trên Edge (bạn phải là một tổ chức quản trị viên).
- env_name là một môi trường trong tổ chức của bạn (chẳng hạn như "thử nghiệm" hoặc "sản phẩm").
- key là khoá được lệnh cấu hình trả về trước đó.
- secret là khoá được lệnh cấu hình trả về trước đó.
Ví dụ
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188...78b6181d000723 \ -s 05c14356e42ed1...4e34ab0cc824
Nếu Edge Microgateway bị dừng:
- Khởi động lại Edge Microgateway:
edgemicro start -o org_name -e env_name -k key -s secret
Trong trường hợp:
- org_name là tên tổ chức của bạn trên Edge (bạn phải là một tổ chức quản trị viên).
- env_name là một môi trường trong tổ chức của bạn (chẳng hạn như "kiểm thử" hoặc "sản phẩm").
- key là khoá được lệnh cấu hình trả về trước đó.
- secret là khoá được lệnh cấu hình trả về trước đó.
Ví dụ:
edgemicro start -o docs -e test -k 701e70ee718ce...b6181d000723 \ -s 05c1435...e34ab0cc824
Dưới đây là một tệp cấu hình mẫu. Để biết thông tin chi tiết về chế độ cài đặt tệp cấu hình, hãy xem Tài liệu tham khảo về cấu hình 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
Thiết lập biến môi trường
Các lệnh giao diện dòng lệnh yêu cầu các giá trị cho tổ chức Edge của bạn và và khoá cũng như bí mật cần thiết để khởi động Edge Microgateway có thể được lưu trữ trong biến môi trường:
EDGEMICRO_ORG
EDGEMICRO_ENV
EDGEMICRO_KEY
EDGEMICRO_SECRET
Bạn không bắt buộc phải đặt các biến này. Nếu đã đặt các giá trị này, bạn không phải chỉ định giá trị của chúng khi bạn sử dụng Giao diện dòng lệnh (CLI) để định cấu hình và khởi động Edge Microgateway.
Định cấu hình SSL trên Edge Microgateway máy chủ
Bạn có thể định cấu hình máy chủ Microgateway để sử dụng SSL. Ví dụ: khi đã định cấu hình SSL, bạn có thể gọi API thông qua Edge Microgateway bằng "https" giao thức, như sau:
https://localhost:8000/myapi
Để định cấu hình SSL trên máy chủ Microgateway, hãy làm theo các bước sau:
- Tạo hoặc lấy chứng chỉ và khóa SSL bằng cách sử dụng tiện ích openssl hoặc bất kỳ phương pháp nào bạn thích.
- Thêm thuộc tính
edgemicro:ssl
vào tệp cấu hình Edge Microgateway. Để xem đầy đủ danh sách các lựa chọn, hãy xem bảng bên dưới. Ví dụ:
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
- Khởi động lại Edge Microgateway. Làm theo các bước được nêu trong Thực hiện thay đổi cấu hình tùy thuộc vào tệp cấu hình mà bạn đã chỉnh sửa: tệp mặc định hoặc tệp cấu hình thời gian chạy.
Dưới đây là ví dụ về phần edgemicro
của tệp cấu hình, có SSL
đã định cấu hình:
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
Dưới đây là danh sách tất cả các tuỳ chọn máy chủ được hỗ trợ:
Phương thức | Mô tả |
---|---|
key |
Đường dẫn đến một tệp ca.key (ở định dạng PEM). |
cert |
Đường dẫn đến một tệp ca.cert (ở định dạng PEM). |
pfx |
Đường dẫn đến tệp pfx chứa khoá riêng tư, chứng chỉ và các chứng chỉ CA
của khách hàng ở định dạng PFX. |
passphrase |
Một chuỗi ký tự chứa cụm mật khẩu dành cho khoá riêng tư hoặc PFX. |
ca |
Đường dẫn đến một tệp chứa danh sách chứng chỉ đáng tin cậy ở định dạng PEM. |
ciphers |
Chuỗi mô tả các thuật toán mật mã cần sử dụng được phân tách bằng dấu ":". |
rejectUnauthorized |
Nếu đúng, chứng chỉ máy chủ sẽ được xác minh dựa trên danh sách các CA đã cung cấp. Nếu xác minh không thành công, hệ thống sẽ trả về một lỗi. |
secureProtocol |
Phương thức SSL cần sử dụng. Ví dụ: SSLv3_method để buộc SSL vào phiên bản 3. |
servername |
Tên máy chủ cho phần mở rộng TLS (Chỉ báo tên máy chủ) SNI. |
requestCert |
đúng với SSL 2 chiều; false cho SSL 1 chiều |
Sử dụng các tuỳ chọn SSL/TLS ứng dụng
Bạn có thể định cấu hình Edge Microgateway thành ứng dụng TLS hoặc SSL khi kết nối để nhắm mục tiêu điểm cuối. Trong tệp cấu hình Microgateway, hãy sử dụng phần tử mục tiêu để đặt SSL/TLS .
Ví dụ này cung cấp các chế độ cài đặt sẽ áp dụng cho tất cả máy chủ:
edgemicro: ... targets: ssl: client: key: /Users/jdoe/nodecellar/twowayssl/ssl/client.key cert: /Users/jdoe/nodecellar/twowayssl/ssl/ca.crt passphrase: admin123 rejectUnauthorized: true
Trong ví dụ này, các chế độ cài đặt chỉ được áp dụng cho máy chủ lưu trữ đã chỉ định:
edgemicro: ... 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
Sau đây là một ví dụ về TLS:
edgemicro: ... targets: - host: 'myserver.example.com' tls: client: pfx: /Users/myname/twowayssl/ssl/client.pfx passphrase: admin123 rejectUnauthorized: true
Dưới đây là danh sách tất cả các tuỳ chọn ứng dụng được hỗ trợ:
Phương thức | Mô tả |
---|---|
pfx |
Đường dẫn đến tệp pfx chứa khoá riêng tư, chứng chỉ và các chứng chỉ CA
của khách hàng ở định dạng PFX. |
key |
Đường dẫn đến một tệp ca.key (ở định dạng PEM). |
passphrase |
Một chuỗi ký tự chứa cụm mật khẩu dành cho khoá riêng tư hoặc PFX. |
cert |
Đường dẫn đến một tệp ca.cert (ở định dạng PEM). |
ca |
Đường dẫn đến một tệp chứa danh sách chứng chỉ đáng tin cậy ở định dạng PEM. |
ciphers |
Chuỗi mô tả các thuật toán mật mã cần sử dụng được phân tách bằng dấu ":". |
rejectUnauthorized |
Nếu đúng, chứng chỉ máy chủ sẽ được xác minh dựa trên danh sách các CA đã cung cấp. Nếu xác minh không thành công, hệ thống sẽ trả về một lỗi. |
secureProtocol |
Phương thức SSL cần sử dụng. Ví dụ: SSLv3_method để buộc SSL vào phiên bản 3. |
servername |
Tên máy chủ cho phần mở rộng TLS (Chỉ báo tên máy chủ) SNI. |
Tuỳ chỉnh proxy Edgemicro-auth
Theo mặc định, Edge Microgateway sử dụng một proxy được triển khai trên Apigee Edge để xác thực OAuth2.
Proxy này được triển khai khi bạn chạy edgemicro configure
lần đầu. Bạn có thể thay đổi
cấu hình mặc định của proxy này để hỗ trợ thêm các thông báo xác nhận quyền sở hữu tuỳ chỉnh đối với Mã thông báo web JSON
(JWT), định cấu hình thời hạn mã thông báo và tạo mã làm mới. Để biết thông tin chi tiết, hãy xem trang edgemicro-auth trên GitHub.
Sử dụng dịch vụ xác thực tuỳ chỉnh
Theo mặc định, Edge Microgateway sử dụng một proxy được triển khai trên Apigee Edge để xác thực OAuth2.
Proxy này được triển khai khi bạn chạy edgemicro configure
lần đầu. Theo mặc định,
URL của proxy được chỉ định trong tệp cấu hình Edge Microgateway như sau:
authUri: https://myorg-myenv.apigee.net/edgemicro-auth
Nếu bạn muốn sử dụng dịch vụ tuỳ chỉnh của riêng mình để xử lý việc xác thực, hãy thay đổi
Giá trị authUri
trong tệp cấu hình để trỏ đến dịch vụ của bạn. Ví dụ: bạn có thể có
một dịch vụ sử dụng LDAP để xác minh danh tính.
Quản lý tệp nhật ký
Edge Microgateway ghi lại thông tin về từng yêu cầu và phản hồi. Tệp nhật ký rất hữu ích để gỡ lỗi và khắc phục sự cố.
Vị trí lưu trữ tệp nhật ký
Theo mặc định, các tệp nhật ký được lưu trữ trong /var/tmp
.
Cách thay đổi nhật ký mặc định thư mục tệp
Thư mục lưu trữ tệp nhật ký được chỉ định trong cấu hình Edge Microgateway . Xem thêm Tạo cấu hình thay đổi.
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
Thay đổi giá trị dir để chỉ định một thư mục tệp nhật ký khác.
Gửi nhật ký đến bảng điều khiển
Bạn có thể định cấu hình ghi nhật ký để thông tin nhật ký được gửi đến đầu ra chuẩn thay vì
tệp nhật ký. Thiết lập cờ to_console
thành true như sau:
edgemicro: logging: to_console: true
Với chế độ cài đặt này, nhật ký sẽ được gửi theo chuẩn đầu ra. Hiện tại, bạn không thể gửi nhật ký cho cả stdout và tới một tệp nhật ký.
Cách đặt cấp độ ghi nhật ký
Bạn có thể đặt các cấp độ nhật ký sau: thông tin, warn và lỗi. Bạn nên dùng cấp thông tin. Nó ghi lại mọi yêu cầu và phản hồi của API, và đó là tuỳ chọn mặc định.
Cách thay đổi khoảng thời gian trong nhật ký
Bạn có thể định cấu hình các khoảng thời gian này trong tệp cấu hình Edge Microgateway. Xem thêm Thực hiện thay đổi cấu hình.
Các thuộc tính có thể định cấu hình bao gồm:
- stats_log_interval: (mặc định: 60) Khoảng thời gian, tính bằng giây, khi số liệu thống kê bản ghi được ghi vào tệp nhật ký API.
- rotate_interval: (mặc định: 24) Khoảng thời gian, tính bằng giờ, khi tệp nhật ký được đã xoay. Ví dụ:
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
Các phương pháp duy trì tệp nhật ký hiệu quả
Khi dữ liệu tệp nhật ký tích luỹ theo thời gian, Apigee khuyên bạn nên áp dụng những cách sau thực tiễn:
- Vì các tệp nhật ký có thể có kích thước khá lớn, hãy đảm bảo rằng thư mục tệp nhật ký có đủ dung lượng. Xem các phần sau đây Vị trí lưu trữ tệp nhật ký và Cách thay đổi tệp nhật ký mặc định thư mục.
- Xoá hoặc di chuyển các tệp nhật ký vào một thư mục lưu trữ riêng ít nhất một lần mỗi tuần.
- Nếu chính sách của bạn là xoá nhật ký, bạn có thể sử dụng lệnh CLI
edgemicro log -c
để xoá (dọn dẹp) nhật ký cũ.
Quy ước đặt tên tệp nhật ký
Mỗi phiên bản của Edge Microgateway tạo ra ba loại tệp nhật ký:
- api – Ghi nhật ký tất cả các yêu cầu và phản hồi diễn ra qua Edge Cổng nhỏ. Bộ đếm API (số liệu thống kê) và lỗi cũng được ghi vào tệp này.
- err – Ghi nhật ký mọi nội dung được gửi tới stderr.
- out – Ghi nhật ký mọi nội dung được gửi tới stdout.
Dưới đây là quy ước đặt tên:
edgemicro-<Host Name>-<Instance ID>-<Log Type>.log
Ví dụ:
edgemicro-mymachine-local-MTQzNTgNDMxODAyMQ-api.log edgemicro-mymachine-local-MTQzNTg1NDMODAyMQ-err.log edgemicro-mymachine-local-mtqzntgndmxodaymq-out.log
Giới thiệu về nội dung tệp nhật ký
Đã thêm trong: phiên bản 2.3.3
Theo mặc định, dịch vụ ghi nhật ký sẽ bỏ qua JSON của các sản phẩm, proxy đã tải xuống và JSON
Mã thông báo web (JWT). Nếu bạn muốn xuất các đối tượng này vào các tệp nhật ký, hãy đặt giá trị
DEBUG=*
khi bạn khởi động Edge Microgateway. Ví dụ:
DEBUG=* edgemicro start -o docs -e test -k abc123 -s xyz456
Nội dung của "api" tệp nhật ký
"api" tệp nhật ký chứa thông tin chi tiết về luồng yêu cầu và phản hồi thông qua Edge Microgateway. "api" tệp nhật ký có tên như sau:
edgemicro-mymachine-local-MTQzNjIxOTk0NzY0Nw-api.log
Đối với mỗi yêu cầu được gửi đến Edge Microgateway, 4 sự kiện sẽ được ghi lại trong "api" nhật ký tệp:
- Yêu cầu đến từ ứng dụng
- Đã gửi yêu cầu đi đến mục tiêu
- Phản hồi đến từ mục tiêu
- Phản hồi đi cho khách hàng
Mỗi mục nhập riêng biệt này được trình bày bằng một ký hiệu viết tắt để giúp ghi nhật ký tệp gọn gàng hơn. Dưới đây là 4 mục nhập mẫu đại diện cho từng sự kiện trong số 4 sự kiện. Trong nhật ký tệp, chúng trông giống như thế này (số dòng chỉ để tham khảo trong tài liệu, chúng không xuất hiện trong tệp nhật ký).
(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
Hãy cùng xem xét từng yếu tố:
1. Mẫu về yêu cầu đến từ ứng dụng:
1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
- 1436403888651 - Dấu ngày Unix
- info – Phụ thuộc vào ngữ cảnh. Có thể là thông tin, cảnh báo hoặc lỗi, tuỳ thuộc vào cấp độ nhật ký. Có thể là số liệu thống kê cho một bản ghi số liệu thống kê, đưa ra cảnh báo hoặc lỗi.
- req – Xác định sự kiện. Trong trường hợp này, hãy yêu cầu khách hàng.
- m – Động từ HTTP dùng trong yêu cầu.
- u – Phần URL theo sau đường dẫn cơ sở.
- h – Máy chủ lưu trữ và số cổng nơi Edge Microgateway đang nghe.
- r – Máy chủ từ xa và cổng mà ứng dụng yêu cầu nguồn gốc.
- i – Mã yêu cầu. Tất cả 4 mục sự kiện đều sẽ dùng chung mã này. Một sẽ được gán một mã yêu cầu duy nhất. Việc so sánh các bản ghi nhật ký theo mã yêu cầu có thể cung cấp thông tin chi tiết có giá trị về độ trễ của mục tiêu.
- d – Khoảng thời gian tính bằng mili giây kể từ khi người dùng nhận được yêu cầu Cổng nhỏ ở rìa. Trong ví dụ trên, mục tiêu đã nhận được phản hồi cho yêu cầu 0 sau 7 mili giây (dòng 3) và phản hồi được gửi đến máy khách sau 4 lần nữa mili giây (dòng 4). Nói cách khác, tổng độ trễ của yêu cầu là 11 mili giây, trong số trong đó mục tiêu mất 7 mili giây và bằng Edge Microgateway là 4 mili giây .
2. Mẫu yêu cầu được gửi đến mục tiêu:
1436403888665 info treq m=GET, u=/, h=127.0.0.1:8080, i=0
- 1436403888651 - Dấu ngày Unix
- info – Phụ thuộc vào ngữ cảnh. Có thể là thông tin, cảnh báo hoặc lỗi, tuỳ thuộc vào cấp độ nhật ký. Có thể là số liệu thống kê cho một bản ghi số liệu thống kê, đưa ra cảnh báo hoặc lỗi.
- treq – Xác định sự kiện. Trong trường hợp này, hãy nhắm mục tiêu yêu cầu.
- m – Động từ HTTP dùng trong yêu cầu đích.
- u – Phần URL theo sau đường dẫn cơ sở.
- h – Máy chủ lưu trữ và số cổng của mục tiêu phụ trợ.
- i – Mã nhận dạng của mục nhập nhật ký. Tất cả 4 mục sự kiện sẽ chia sẻ thông tin này Mã nhận dạng.
3. Mẫu phản hồi nhận được từ mục tiêu
1436403888672 info tres s=200, d=7, i=0
1436403888651 - Dấu ngày Unix
- info – Phụ thuộc vào ngữ cảnh. Có thể là thông tin, cảnh báo hoặc lỗi, tuỳ thuộc vào cấp độ nhật ký. Có thể là số liệu thống kê cho một bản ghi số liệu thống kê, đưa ra cảnh báo hoặc lỗi.
- tres – Xác định sự kiện. Trong trường hợp này, hãy dùng phản hồi mục tiêu.
- s – Trạng thái phản hồi HTTP.
- d – Thời lượng tính bằng mili giây. Thời gian thực hiện lệnh gọi API bởi mục tiêu.
- i – Mã nhận dạng của mục nhập nhật ký. Tất cả 4 mục sự kiện sẽ chia sẻ thông tin này Mã nhận dạng.
4. Mẫu phản hồi gửi đi cho khách hàng
1436403888676 info res s=200, d=11, i=0
1436403888651 - Dấu ngày Unix
- info – Phụ thuộc vào ngữ cảnh. Có thể là thông tin, cảnh báo hoặc lỗi, tuỳ thuộc vào cấp độ nhật ký. Có thể là số liệu thống kê cho một bản ghi số liệu thống kê, đưa ra cảnh báo hoặc lỗi.
- res – Xác định sự kiện. Trong trường hợp này, phản hồi lại khách hàng.
- s – Trạng thái phản hồi HTTP.
- d – Thời lượng tính bằng mili giây. Đây là tổng thời gian thực hiện theo lệnh gọi API, bao gồm cả thời gian API mục tiêu sử dụng và thời gian của Edge Chính Microgateway.
- i – Mã nhận dạng của mục nhập nhật ký. Tất cả 4 mục sự kiện sẽ chia sẻ thông tin này Mã nhận dạng.
Lịch biểu của tệp nhật ký
Các tệp nhật ký được xoay trong khoảng thời gian được chỉ định bởi rotate_interval thuộc tính cấu hình. Hệ thống sẽ tiếp tục thêm các mục đầu vào vào cho đến khi hết khoảng thời gian xoay vòng. Tuy nhiên, mỗi lần Edge Microgateway được khởi động lại thì sẽ nhận được một UID mới và tạo một nhóm các tệp nhật ký mới bằng UID này. Xem thêm Duy trì tệp nhật ký tốt .
Thông báo lỗi
Một số mục nhập nhật ký sẽ chứa thông báo lỗi. Để giúp xác định vị trí và nguyên nhân xảy ra lỗi, hãy xem lỗi Edge Microgateway tham khảo.
Tài liệu tham khảo về cấu hình Edge Microgateway
Vị trí của tệp cấu hình
Các thuộc tính cấu hình được mô tả trong phần này nằm trong Edge Microgateway tệp cấu hình. Xem thêm Tạo cấu hình thay đổi.
thuộc tính Edge_config
Các chế độ cài đặt này được dùng để định cấu hình hoạt động tương tác giữa phiên bản Edge Microgateway và Lợi ích của Apigee.
- bootstrap: (mặc định: không có) URL trỏ đến Edge
Dịch vụ dành riêng cho Microgateway chạy trên Apigee Edge. Edge Microgateway sử dụng dịch vụ này để
giao tiếp với Apigee Edge. URL này được trả về khi bạn thực thi lệnh để tạo
cặp khoá công khai/riêng tư:
edgemicro genkeys
. Hãy xem phần Thiết lập và định cấu hình Edge Microgateway để biết chi tiết. - jwt_public_key: (mặc định: không có) URL trỏ đến Edge Microgateway được triển khai trên Apigee Edge. Proxy này đóng vai trò là điểm cuối xác thực cho cấp mã truy cập đã ký cho khách hàng. URL này được trả về khi bạn thực thi lệnh để triển khai proxy: định cấu hình Edgemicro. Hãy xem phần Thiết lập và định cấu hình Edge Microgateway để biết chi tiết.
thuộc tính Edgemicro
Các chế độ cài đặt này sẽ định cấu hình quy trình Edge Microgateway.
- port: (mặc định: 8000) Số cổng mà Edge Microgateway lượt nghe.
- max_connections: (mặc định: -1) Chỉ định số lượng tối đa
các kết nối đến đồng thời mà Edge Microgateway có thể nhận được. Nếu số này là
vượt quá, thì trạng thái sau sẽ được trả về:
res.statusCode = 429; // Too many requests
- max_connections_hard: (mặc định: -1) Số lượt đồng thời tối đa các yêu cầu mà Edge Microgateway có thể nhận được trước khi tắt kết nối. Chế độ cài đặt này nhằm mục đích ngăn chặn các cuộc tấn công từ chối dịch vụ. Thông thường, hãy đặt cho giá trị này ở một số lớn hơn max_connections.
-
ghi nhật ký:
-
level: (mặc định: lỗi)
- thông tin – Ghi nhật ký tất cả các yêu cầu và phản hồi diễn ra thông qua một Phiên bản Edge Microgateway.
- warn – Chỉ thông báo cảnh báo ghi nhật ký.
- error – Chỉ ghi nhật ký các thông báo lỗi.
- dir: (mặc định: /var/tmp) Thư mục chứa các tệp nhật ký lưu trữ.
- stats_log_interval: (mặc định: 60) Khoảng thời gian, tính bằng giây, khi số liệu thống kê bản ghi được ghi vào tệp nhật ký api.
- rotate_interval: (mặc định: 24) Khoảng thời gian, tính bằng giờ, khi tệp nhật ký được đã xoay.
-
level: (mặc định: lỗi)
- trình bổ trợ: Trình bổ trợ thêm chức năng cho Edge Microgateway. Để biết thông tin về cách phát triển trình bổ trợ, hãy xem phần Phát triển trình bổ trợ tuỳ chỉnh.
- dir: Một đường dẫn tương đối từ thư mục ./gateway đến thư mục ./plugin hoặc một đường dẫn tuyệt đối.
- trình tự: Danh sách các mô-đun trình bổ trợ cần thêm vào Edge Microgateway thực thể. Các mô-đun sẽ thực thi theo thứ tự được chỉ định ở đây.
-
debug: Thêm tính năng gỡ lỗi từ xa vào quy trình Edge Microgateway.
- cổng: Số cổng để nghe. Ví dụ: đặt trình gỡ lỗi IDE để nghe trên cổng này.
- args: Đối số cho quy trình gỡ lỗi. Ví dụ:
args --nolazy
- config_change_poll_interval: (mặc định: 600 giây) Edge Microgateway
tải một cấu hình mới theo định kỳ và thực thi tải lại nếu có gì thay đổi. Cuộc thăm dò ý kiến
chọn bất kỳ thay đổi nào được thực hiện trên Edge (thay đổi đối với sản phẩm, proxy nhận biết vi mô, v.v.) làm
cũng như các thay đổi được thực hiện đối với tệp cấu hình cục bộ.
- disable_config_poll_interval: (mặc định: false) Đặt thành true để tắt thăm dò thay đổi tự động.
- request_timeout: Đặt thời gian chờ cho các yêu cầu mục tiêu. Thời gian chờ được đặt trong giây. Nếu hết thời gian chờ, Edge Microgateway sẽ phản hồi bằng mã trạng thái 504. (Đã thêm v2.4.x)
thuộc tính tiêu đề
Những chế độ cài đặt này định cấu hình cách xử lý một số tiêu đề HTTP nhất định.
- x-redirected-for: (mặc định: true) Đặt thành false để ngăn x-chuyển tiếp-cho tiêu đề được truyền đến mục tiêu. Lưu ý rằng nếu tiêu đề x- đang ở trong yêu cầu, thì giá trị của đường liên kết đó sẽ được đặt thành giá trị IP máy khách trong Edge Analytics.
- x-redirected-host: (mặc định: true) Đặt thành false để ngăn tiêu đề x-Forwarded-host được truyền đến mục tiêu.
- x-request-id: (mặc định: true) Đặt thành false để ngăn tiêu đề x-request-id được chuyển đến mục tiêu.
- x-response-time: (mặc định: true) Đặt thành false để ngăn tiêu đề x-response-time được truyền đến mục tiêu.
- via: (default: true) Đặt thành false để ngăn việc đặt tiêu đề thành false được chuyển đến mục tiêu.
Thuộc tính OAuth
Các chế độ cài đặt này định cấu hình cách Edge Microgateway thực thi quy trình xác thực ứng dụng khách.
- allowNoAuthorization: (mặc định: false) Nếu bạn đặt thành true, các lệnh gọi API sẽ được phép chuyển qua Edge Microgateway mà không có bất kỳ tiêu đề Uỷ quyền nào. Đặt thành false để yêu cầu tiêu đề Uỷ quyền (mặc định).
- allowInvalidAuthorization: (mặc định: false) Nếu được đặt thành true, các lệnh gọi API sẽ được phép chuyển nếu mã thông báo được chuyển trong tiêu đề Uỷ quyền không hợp lệ hoặc đã hết hạn. Thiết lập thành false để yêu cầu mã thông báo hợp lệ (mặc định).
- uỷ quyền-tiêu đề: (mặc định: Uỷ quyền: Người mang) Tiêu đề được dùng để gửi mã truy cập đến Edge Microgateway. Bạn nên thay đổi chế độ cài đặt mặc định này trong trường hợp mục tiêu cần sử dụng tiêu đề Uỷ quyền cho một số mục đích khác.
- api-key-header: (mặc định: x-api-key) Tên của tiêu đề hoặc truy vấn dùng để truyền khoá API đến Edge Microgateway. Xem thêm phần Sử dụng khoá API.
- keep-authorization-header: (mặc định: false) Nếu được đặt thành true, thì tiêu đề Uỷ quyền đã gửi trong yêu cầu sẽ được chuyển sang mục tiêu (yêu cầu được giữ nguyên).
- allowOAuthOnly -- Nếu được đặt thành true, mọi API phải mang uỷ quyền bằng một Mã truy cập của người dùng. Cho phép bạn chỉ cho phép mô hình bảo mật OAuth (trong khi duy trì khả năng tương thích ngược). (Đã thêm 2.4.x)
- allowAPIKeyOnly -- Nếu được đặt thành true, mỗi API phải mang Tiêu đề x-api-key (hoặc vị trí tuỳ chỉnh) có Khoá API.Cho phép bạn cho phép mô hình bảo mật khoá API (trong khi vẫn duy trì khả năng tương thích ngược). (Đã thêm 2.4.x)
- gracePeriod – Thông số này giúp ngăn chặn các lỗi do mức chênh lệch giữa đồng hồ hệ thống của bạn so với thời điểm Phát hành trước (nbf) hoặc Được phát hành vào (iat) được chỉ định trong mã thông báo uỷ quyền JWT. Đặt thông số này thành số giây để cho phép để phát hiện những khác biệt như vậy. (Đã thêm 2.5.7)
Dành riêng cho trình bổ trợ thuộc tính
Xem phần Sử dụng trình bổ trợ để biết chi tiết về các thuộc tính có thể định cấu hình của mỗi trình bổ trợ.
Lọc proxy
Bạn có thể lọc những proxy nhận biết cổng vi mô mà phiên bản Edge Microgateway sẽ xử lý.
Khi Edge Microgateway khởi động, Edge Microgateway sẽ tải xuống tất cả các proxy nhận biết microgateway trong
tổ chức liên kết với tài khoản đó. Sử dụng cấu hình sau để giới hạn các proxy
microgateway sẽ xử lý. Ví dụ: cấu hình này giới hạn các proxy cổng vi mô
sẽ xử lý thành ba: edgemicro_proxy-1
, edgemicro_proxy-2
,
và edgemicro_proxy-3
:
proxies: - edgemicro_proxy-1 - edgemicro_proxy-2 - edgemicro_proxy-3
Định cấu hình tần suất đẩy số liệu phân tích
Sử dụng các tham số cấu hình này để kiểm soát tần suất mà Edge Microgateway gửi dữ liệu phân tích cho Apigee:
- bufferSize (Không bắt buộc): Số lượng tối đa bản ghi Analytics mà có thể lưu giữ trước khi bắt đầu bỏ các bản ghi cũ nhất. Mặc định: 10000
- batchSize (Không bắt buộc): Kích thước tối đa của một lô bản ghi Analytics gửi đến Apigee. Mặc định: 500
- flushInterval (Không bắt buộc): Số mili giây giữa mỗi lần xả dữ liệu một loạt bản ghi phân tích được gửi đến Apigee. Mặc định: 5000
Ví dụ:
analytics: bufferSize: 15000 batchSize: 1000 flushInterval: 6000
Ẩn dữ liệu phân tích
Cấu hình sau đây ngăn thông tin về đường dẫn yêu cầu xuất hiện trong Edge số liệu phân tích. Thêm phần sau đây vào cấu hình microgateway để che giấu URI yêu cầu và/hoặc đường dẫn yêu cầu. Lưu ý rằng URI bao gồm các phần đường dẫn và tên máy chủ của yêu cầu.
analytics: mask_request_uri: 'string_to_mask' mask_request_path: 'string_to_mask'
Tách riêng các lệnh gọi API trong Edge Analytics
Bạn có thể định cấu hình trình bổ trợ Analytics để tách biệt một đường dẫn API cụ thể để trình bổ trợ đó xuất hiện dưới dạng một proxy riêng trong trang tổng quan của Edge Analytics. Ví dụ: bạn có thể tách riêng API kiểm tra tình trạng trong trang tổng quan để tránh nhầm lẫn API này với các lệnh gọi proxy API thực tế. Trong Trang tổng quan Analytics, các proxy riêng biệt sẽ tuân theo mẫu đặt tên sau:
edgemicro_proxyname-health
Hình ảnh sau đây cho thấy 2 proxy riêng biệt trong trang tổng quan Analytics: edgemicro_hello-health
và
edgemicro_mock-health
:
Sử dụng các tham số để tách riêng đường dẫn tương đối và tuyệt đối trong trang tổng quan Analytics dưới dạng các proxy riêng biệt:
- relativePath (Không bắt buộc): Chỉ định một đường dẫn tương đối để tách riêng trong
trang tổng quan Analytics. Ví dụ: nếu bạn chỉ định
/healthcheck
, tất cả lệnh gọi API chứa đường dẫn/healthcheck
sẽ xuất hiện trong trang tổng quan dưới tênedgemicro_proxyname-health
. Lưu ý rằng cờ này bỏ qua đường dẫn cơ sở của proxy. Để tách riêng dựa trên một đường dẫn đầy đủ, bao gồm cả đường dẫn cơ sở, hãy sử dụng cờproxyPath
. - proxyPath (Không bắt buộc): Chỉ định một đường dẫn proxy API đầy đủ, bao gồm cả proxy
đường dẫn cơ sở, để tách biệt trong trang tổng quan của số liệu phân tích. Ví dụ: nếu bạn chỉ định
/mocktarget/healthcheck
, trong đó/mocktarget
là đường dẫn cơ sở proxy, tất cả lệnh gọi API có đường dẫn/mocktarget/healthcheck
sẽ xuất hiện trong trang tổng quan dưới tênedgemicro_proxyname-health
.
Ví dụ: trong cấu hình sau đây, bất kỳ đường dẫn API nào chứa /healthcheck
sẽ
được phân tách bằng trình bổ trợ Analytics. Điều này có nghĩa là /foo/healthcheck
và /foo/bar/healthcheck
sẽ được phân tách dưới dạng một proxy riêng có tên là edgemicro_proxyname-health
trong trang tổng quan về số liệu phân tích.
analytics: uri: >- https://xx/edgemicro/ax/org/docs/environment/test bufferSize: 100 batchSize: 50 flushInterval: 500 relativePath: /healthcheck
Trong cấu hình sau đây, bất kỳ API nào có đường dẫn proxy /mocktarget/healthcheck
sẽ
sẽ được phân tách thành một proxy riêng có tên là edgemicro_proxyname-health
trong
trang tổng quan về số liệu phân tích.
analytics: uri: >- https://xx/edgemicro/ax/org/docs/environment/test bufferSize: 100 batchSize: 50 flushInterval: 500 proxyPath: /mocktarget/healthcheck
Thiết lập Edge Microgateway sau tường lửa của công ty
Phiên bản 2.4.x được hỗ trợ
Nếu Edge Microgateway được cài đặt phía sau tường lửa, cổng có thể không giao tiếp với Apigee Edge. Trong trường hợp này, có hai lựa chọn bạn có thể xem xét:
Cách 1:
Tuỳ chọn đầu tiên là đặt tuỳ chọn Edgemicro: proxy_tunnel thành true trong tệp cấu hình microgateway:
edge_config: proxy: http://10.224.16.85:3128 proxy_tunnel: true
Khi proxy_tunnel là true, Edge Microgateway sẽ sử dụng phương thức CONNECT HTTP để tạo đường hầm cho các yêu cầu HTTP qua một kết nối TCP. (Điều này cũng đúng nếu các biến môi trường để định cấu hình proxy được bật TLS).
Cách 2:
Tùy chọn thứ hai là chỉ định proxy và đặt proxy_tunnel thành false trong tệp cấu hình microgateway. Ví dụ:
edge_config: proxy: http://10.224.16.85:3128 proxy_tunnel: false
Trong trường hợp này, bạn có thể đặt các biến sau để điều khiển máy chủ lưu trữ cho mỗi HTTP proxy mà bạn muốn sử dụng hoặc máy chủ không được xử lý proxy Edge Microgateway: HTTP_PROXY, HTTPS_PROXY và NO_PROXY.
Bạn có thể đặt NO_PROXY thành danh sách các miền được phân tách bằng dấu phẩy Cổng vi mô không được phép kết nối proxy. Ví dụ:
export NO_PROXY='localhost,localhost:8080'
Đặt HTTP_PROXY và HTTPS_PROXY thành proxy HTTP điểm cuối Edge Microgateway có thể gửi thông báo tới thiết bị này. Ví dụ:
export HTTP_PROXY='http://localhost:3786' export HTTPS_PROXY='https://localhost:3786'
Để biết thêm thông tin về các biến này, hãy xem https://www.npmjs.com/package/request#controlling-proxy-behaviour-using-environment-variables
Xem thêm
Cách thiết lập Edge Microgateway sau tường lửa của công ty trên Cộng đồng Apigee.
Sử dụng ký tự đại diện trong tính năng nhận biết Microgateway proxy
Bạn có thể sử dụng một hoặc nhiều "*" các ký tự đại diện trong đường dẫn cơ sở của
edgemicro_* (Nhận biết được Microgateway). Ví dụ: đường dẫn cơ sở của
/team/*/members cho phép khách hàng gọi điện
https://[host]/team/blue/members và
https://[host]/team/green/members mà không cần tạo proxy API mới
để hỗ trợ các nhóm mới. Lưu ý /**/
không được hỗ trợ.
Lưu ý quan trọng: Apigee KHÔNG hỗ trợ sử dụng ký tự đại diện "*" với tư cách là
phần tử đầu tiên của đường dẫn cơ sở. Ví dụ: tính năng này KHÔNG được hỗ trợ: tìm kiếm /*/
.
Xoay các khoá JWT
Tại một thời điểm nào đó sau khi tạo JWT lần đầu, bạn có thể cần thay đổi cặp khoá công khai/riêng tư được lưu trữ trong KVM được mã hoá của Edge. Quá trình tạo khoá mới được gọi là xoay vòng khoá.
Cách Edge Microgateway sử dụng JWT
Mã thông báo web JSON (JWT) là một tiêu chuẩn mã thông báo được mô tả trong RFC7519. JWT cung cấp cách ký một tập hợp các xác nhận quyền sở hữu, có thể được người nhận JWT xác minh một cách đáng tin cậy.
Edge Microgateway sử dụng JWT làm mã thông báo truyền dữ liệu để bảo mật OAuth. Khi bạn tạo mã thông báo OAuth cho Edge Microgateway, thì bạn sẽ nhận lại được một JWT. Sau đó, bạn có thể sử dụng JWT trong Tiêu đề uỷ quyền của lệnh gọi API. Ví dụ:
curl -i http://localhost:8000/hello -H "Authorization: Bearer eyJhbGciOiJ..dXDefZEA"
Tạo JWT mới
Bạn có thể tạo JWT cho Edge Microgateway bằng lệnh edgemicro token
hoặc
một API. Ví dụ:
edgemicro token get -o docs -e test -i G0IAeU864EtBo99NvUbn6Z4CBwVcS2 -s uzHTbwNWvoSmOy
Lệnh này yêu cầu Apigee Edge tạo một JWT sau đó có thể dùng để xác minh API
cuộc gọi. Các tham số -i
và -s
là mã nhận dạng người tiêu dùng và giá trị bí mật từ một ứng dụng của nhà phát triển
trong tổ chức Apigee Edge.
Hoặc bạn cũng có thể tạo JWT bằng API quản lý:
curl -i -X POST "http://org-env.apigee.net/edgemicro-auth/token" \ -H "Content-Type: application/json" \ -d '{ "client_id": "your consumer key", "client_secret": "your consumer secret", "grant_type": "client_credentials" }'
Trong trường hợp:
- org là tên tổ chức của bạn trên Edge (bạn phải là quản trị viên tổ chức).
- env là một môi trường trong tổ chức của bạn (chẳng hạn như "kiểm thử" hoặc "sản phẩm").
- client_id là Mã nhận dạng người tiêu dùng trong Ứng dụng dành cho nhà phát triển mà bạn đã tạo trước đây.
- client_secret là Thông tin bí mật của người dùng trong Ứng dụng dành cho nhà phát triển mà bạn đã tạo trước đây.
Xoay vòng khoá là gì?
Tại một thời điểm nào đó sau khi tạo JWT lần đầu, bạn có thể cần thay đổi cặp khoá công khai/riêng tư được lưu trữ trong KVM được mã hoá của Edge. Quá trình tạo khoá mới được gọi là xoay vòng khoá. Khi bạn thay đổi khoá, một cặp khoá riêng tư/công khai mới sẽ được tạo và được lưu trữ trong "cửa nhỏ" KVM trong tổ chức/môi trường Apigee Edge. Ngoài ra, khoá công khai cũ sẽ được giữ lại cùng với giá trị mã nhận dạng khoá ban đầu.
Để tạo JWT, Edge sử dụng thông tin được lưu trữ trong KVM đã mã hoá. Đáp
KVM có tên là microgateway
được tạo và điền sẵn các khoá khi bạn thiết lập (đã định cấu hình) lần đầu
Cổng nhỏ ở rìa. Các khoá trong KVM được dùng để ký và mã hoá JWT.
Khoá KVM bao gồm:
-
private_key – Khoá riêng tư RSA mới nhất (được tạo gần đây nhất) dùng để ký JWT.
-
public_key – Chứng chỉ mới nhất (được tạo gần đây nhất) dùng để xác minh JWT ký bằng khoá private_key.
-
private_key_kid – Mã khoá riêng tư mới nhất (được tạo gần đây nhất). Mã khoá này được liên kết với giá trị private_key và dùng để hỗ trợ xoay vòng khoá.
-
public_key1_kid – Mã khoá công khai mới nhất (tạo gần đây nhất). Chìa khoá này là được liên kết với giá trị Public_key1 và dùng để hỗ trợ xoay vòng khoá. Giá trị này giống với khoá riêng tư của trẻ.
-
public_key1 – Khoá công khai mới nhất (được tạo gần đây nhất).
Khi bạn thực hiện xoay vòng khoá, các giá trị khoá hiện có sẽ được thay thế trong bản đồ và khoá mới khoá sẽ được thêm vào để giữ lại khoá công khai cũ. Ví dụ:
-
public_key2_kid – Mã khoá công khai cũ. Chìa khoá này được liên kết với giá trị Public_key2 và được dùng để hỗ trợ xoay vòng khoá.
-
public_key2 – Khoá công khai cũ.
Những JWT được cung cấp để xác minh sẽ được xác minh bằng khoá công khai mới. Nếu không xác minh được thì khoá công khai cũ sẽ được sử dụng cho đến khi hết hạn (sau 30 phút). Trong bằng cách này, bạn có thể "xoay" khoá mà không làm gián đoạn ngay lập tức lưu lượng truy cập API.
Cách xoay khoá
Phần này giải thích cách thực hiện việc xoay vòng khoá.
Nếu bạn đã định cấu hình phiên bản Edge Microgateway trước phiên bản 2.5.2
Nếu bạn đã định cấu hình phiên bản Edge Microgateway trước phiên bản 2.5.2, thì bạn phải chạy hai lệnh sau để nâng cấp KVM và chính sách xác thực:
upgradekvm -o org -e env -u username
Để biết thêm thông tin về lệnh này, hãy xem phần Nâng cấp KVM.
Lệnh tiếp theo nâng cấp proxy edgemicro-oauth đã được triển khai lên tổ chức Apigee của bạn khi bạn định cấu hình Edge Microgateway. Proxy này cung cấp dịch vụ cần thiết để tạo mã thông báo.
upgradeauth -o org -e env -u username
Để biết thêm thông tin về lệnh này, hãy xem phần Nâng cấp Edgemicro-auth proxy.
Xoay các phím
Thêm dòng sau vào tệp ~/.edgemicro/org-env-config.yaml
(nơi bạn phải
chỉ định cùng một tổ chức và môi trường mà bạn đã định cấu hình cổng vi mô để sử dụng:
jwk_public_keys: 'https://org-env.apigee.net/edgemicro-auth/jwkPublicKeys'
Chạy lệnh xoay vòng phím để xoay các phím. (Để biết thêm thông tin về lệnh này, hãy xem Xoay phím.)
edgemicro rotatekey -o org -e env -u username -k kid_value
Ví dụ:
edgemicro rotatekey -o jdoe -e test -u jdoe@google.com -k 2 current nodejs version is v6.9.1 current edgemicro version is 2.5.7 password: Checking if private key exists in the KVM... Checking for certificate... Found Certificate Generating New key/cert pair... Extract new public key Key Rotation successfully completed!
Tham số -k
chỉ định một Mã khoá (kid). Mã này dùng để so khớp với một khoá cụ thể.
Edge Microgateway sử dụng giá trị này để chọn trong số một tập hợp các khoá trong quá trình xoay vòng khoá. Để biết thêm
thông tin, xem Mục 4.5 của
Thông số kỹ thuật của Khoá web JSON.
Sau khi xoay phím, Edge sẽ trả về nhiều khoá cho Edge Microgateway. Ghi chú trong phần Ví dụ sau: mỗi khoá có một "con" duy nhất (Mã khoá). Sau đó, microgateway sử dụng để xác thực mã thông báo uỷ quyền. Nếu quá trình xác thực mã thông báo không thành công, cổng vi mô sẽ xem xét xem có khoá cũ nào trong bộ khoá không và thử khoá đó. Định dạng của khoá trả về là Khoá web JSON (JWK). Bạn có thể đọc về định dạng này trong RFC 7517.
{ "keys": [ { "kty": "RSA", "n": "nSl7R_0wKLiWi6cO3n8aOJwYGBtinq723Jgg8i7KKWTSTYoszOjgGsJf_MX4JEW1YCScwpE5o4o8ccQN09iHVTlIhk8CNiMZNPipClmRVjaL_8IWvMQp1iN66qy4ldWXzXnHfivUZZogCkBNqCz7VSC5rw2Jf57pdViULVvVDGwTgf46sYveW_6h8CAGaD0KLd3vZffxIkoJubh0yMy0mQP3aDOeIGf_akeZeZ6GzF7ltbKGd954iNTiKmdm8IKhz6Y3gLpC9iwQ-kex_j0CnO_daHl1coYxUSCIdv4ziWIeM3dmjQ5_2dEvUDIGG6_Az9hTpNgPE5J1tvrOHAmunQ", "e": "AQAB", "kid": "2" }, { "kty": "RSA", "n": "8BKwzx34BMUcHwTuQtmp8LFRCMxbkKg_zsWD6eOMIUTAsORexTGJsTy7z-4aH0wJ3fT-3luAAUPLBQwGcuHo0P1JnbtPrpuYjaJKSZOeIMOnlryJCspmv-1xG4qAqQ9XaZ9C97oecuj7MMoNwuaZno5MvsY-oi5B_gqED3vIHUjaWCErd4reONyFSWn047dvpE6mwRhZbcOTkAHT8ZyKkHISzopkFg8CD-Mij12unxA3ldcTV7yaviXgxd3eFSD1_Z4L7ZRsDUukCJkJ-8qY2-GWjewzoxl-mAW9D1tLK6qAdc89yFem3JHRW6L1le3YK37-bs6b2a_AqJKsKm5bWw", "e": "AQAB", "kid": "1" } ] }
Lọc các proxy đã tải xuống
Theo mặc định, Edge Microgateway sẽ tải tất cả các proxy trong tổ chức Edge của bạn xuống bắt đầu bằng tiền tố đặt tên "edgemicro_". Bạn có thể thay đổi chế độ mặc định này để tải proxy xuống có tên khớp với một mẫu.
- Mở tệp cấu hình Edge Micro:
~/.edgemicro/org-env-config.yaml
- Thêm phần tử proxyPattern trong Edge_config. Ví dụ: mẫu sau đây sẽ
tải các proxy xuống như Edgemicro_foo, Edgemicro_fast và Edgemicro_first.
edge_config: … proxyPattern: edgemicro_f*
Chỉ định sản phẩm mà không có proxy API
Trong Apigee Edge, bạn có thể tạo một sản phẩm API không chứa proxy API nào. Cấu hình sản phẩm này cho phép khoá API liên kết với sản phẩm đó hoạt động với bất kỳ được triển khai trong tổ chức của bạn. Kể từ phiên bản 2.5.4, Edge Microgateway đã hỗ trợ sản phẩm này .
Gỡ lỗi và khắc phục sự cố
Kết nối với trình gỡ lỗi
Bạn có thể chạy Edge Microgateway bằng một trình gỡ lỗi, chẳng hạn như node-inspector (công cụ kiểm tra nút). Thông tin này hữu ích cho khắc phục sự cố và gỡ lỗi plugin tùy chỉnh.
- Khởi động lại Edge Microgateway ở chế độ gỡ lỗi. Để thực hiện việc này, hãy thêm
DEBUG=*
vào phần đầu của lệnhstart
. Ví dụ:DEBUG=* edgemicro start -o myorg -e test -k db4e9e8a95aa7fabfdeacbb1169d0a8cbe42bec19c6b98129e02 -s 6e56af7c1b26dfe93dae78a735c8afc9796b077d105ae5618ce7ed
- Khởi động trình gỡ lỗi và đặt trình gỡ lỗi để theo dõi số cổng của quá trình gỡ lỗi.
- Giờ đây, bạn có thể duyệt qua mã Edge Microgateway, đặt điểm ngắt, biểu thức xem, và cứ tiếp tục như vậy.
Bạn có thể chỉ định các cờ Node.js chuẩn liên quan đến chế độ gỡ lỗi. Ví dụ:
--nolazy
giúp gỡ lỗi mã không đồng bộ.
Đang kiểm tra tệp nhật ký
Nếu bạn gặp sự cố, hãy nhớ kiểm tra các tệp nhật ký để biết thông tin chi tiết và lỗi thực thi của bạn. Để biết thông tin chi tiết, hãy xem phần Quản lý tệp nhật ký.
Sử dụng tính năng bảo mật khoá API
Khoá API cung cấp một cơ chế đơn giản để xác thực ứng dụng gửi yêu cầu với Edge Cổng nhỏ. Bạn có thể lấy khoá API bằng cách sao chép giá trị Khoá người dùng (còn gọi là Client-ID) từ một sản phẩm Apigee Edge có proxy xác thực Edge Microgateway.
Lưu các khoá vào bộ nhớ đệm
Khoá API sẽ được đổi lấy mã thông báo truyền dữ liệu và sẽ được lưu vào bộ nhớ đệm. Bạn có thể tắt tính năng lưu vào bộ nhớ đệm bằng cách cài đặt
tiêu đề Cache-Control: no-cache
trên các yêu cầu gửi đến Edge
Cổng nhỏ.
Sử dụng khoá API
Bạn có thể chuyển khoá API trong yêu cầu API dưới dạng tham số truy vấn hoặc trong tiêu đề. Theo mặc định,
tiêu đề và tên tham số truy vấn đều là x-api-key
.
Ví dụ về tham số truy vấn:
curl http://localhost:8000/foobar?x-api-key=JG616Gjz7xs4t0dvpvVsGdI49G34xGsz
Ví dụ về tiêu đề:
curl http://localhost:8000/foobar -H "x-api-key:JG616Gjz7xs4t0dvpvVsGdI49G34xGsz"
Định cấu hình tên khoá API
Theo mặc định, x-api-key
là tên dùng cho cả tiêu đề khoá API và tham số truy vấn.
Bạn có thể thay đổi giá trị mặc định này trong tệp cấu hình, như được giải thích trong phần Thực hiện thay đổi cấu hình. Ví dụ: để thay đổi
tên thành apiKey:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false api-key-header: apiKey
Trong ví dụ này, cả tham số truy vấn và tên tiêu đề đều được thay đổi thành apiKey
. Chiến lược phát hành đĩa đơn
tên x-api-key
sẽ không còn hoạt động trong cả hai trường hợp. Xem thêm
Thực hiện thay đổi cấu hình.
Ví dụ:
curl http://localhost:8000/foobar -H "apiKey:JG616Gjz7xs4t0dvpvVsGdI49G34xGsz"
Để biết thêm thông tin về cách sử dụng khoá API với yêu cầu proxy, hãy xem Bảo mật cổng nhỏ (bảo mật).
Sử dụng phương thức bảo mật mã thông báo OAuth2
Phần này giải thích cách lấy mã truy cập OAuth2 và mã làm mới. Mã truy cập được dùng để tạo các lệnh gọi API bảo mật thông qua microgateway. Mã làm mới được dùng để lấy mã truy cập mới.
Cách nhận mã truy cập
Phần này giải thích cách dùng proxy edgemicro-auth
để nhận mã truy cập.
Bạn cũng có thể nhận mã truy cập bằng lệnh edgemicro token
CLI.
Để biết thông tin chi tiết về CLI, hãy xem phần Quản lý mã thông báo.
API 1
Thay thế tên tổ chức và tên môi trường của bạn trong URL, và thay thế các giá trị Mã nhận dạng người tiêu dùng và Thông tin bí mật của người dùng thu được từ ứng dụng của nhà phát triển trên Apigee Cạnh cho các tham số nội dung client_id và client_secret:
curl -i -X POST "http://<org>-<test>.apigee.net/edgemicro-auth/token" \ -d '{"grant_type": "client_credentials", "client_id": "your_client_id", \ "client_secret": "your_client_secret"}' -H "Content-Type: application/json"
API 2
(Đã thêm trong phiên bản 2.5.31) Gửi thông tin xác thực máy khách dưới dạng tiêu đề Xác thực cơ bản vàgrant_type
làm tham số biểu mẫu. Biểu mẫu lệnh này cũng được thảo luận trong
RFC 6749: Khung uỷ quyền OAuth 2.0.
http://<org>-<test>.apigee.net/edgemicro-auth/token -v -u your_client_id:your_client_secret \ -d 'grant_type=client_credentials' -H "Content-Type: application/x-www-form-urlencoded"
Kết quả mẫu
API trả về phản hồi JSON. Lưu ý rằng không có sự khác biệt giữatoken
và
Thuộc tính access_token
. Bạn có thể sử dụng một trong hai hình ảnh.
{ "token": "eyJraWQiOiIxIiwidHlwIjoi", "access_token": "eyJraWQiOiIxIiwid", "token_type": "bearer", "expires_in": "108000" }
Cách nhận mã làm mới
Để nhận mã làm mới, hãy thực hiện lệnh gọi API đến điểm cuối /token
của
Proxy edgemicro-auth
. Bạn PHẢI thực hiện lệnh gọi API này bằng password
loại tài trợ. Các bước sau đây sẽ hướng dẫn bạn thực hiện quy trình này.
- Lấy quyền truy cập và mã làm mới bằng API
/token
. Lưu ý rằng loại quyền làpassword
:curl -X POST \ https://your_organization-your_environment.apigee.net/edgemicro-auth/token \ -H 'Content-Type: application/json' \ -d '{ "client_id":"mpK6l1Bx9oE5zLdifoDbF931TDnDtLq", "client_secret":"bUdDcFgv3nXffnU", "grant_type":"password", "username":"mpK6lBx9RoE5LiffoDbpF931TDnDtLq", "password":"bUdD2FvnMsXffnU" }'
API trả về một mã truy cập và mã làm mới. Câu trả lời trông giống với sau:
{ "token": "your-access-token", "access_token": "your-access-token", "token_type": "bearer", "expires_in": "108000", "refresh_token": "your-refresh-token", "refresh_token_expires_in": "431999", "refresh_token_issued_at": "1562087304302", "refresh_token_status": "approved" }
- Giờ đây, bạn có thể sử dụng mã làm mới để nhận mã truy cập mới bằng cách gọi
điểm cuối
/refresh
của cùng một API. Ví dụ:curl -X POST \ https://willwitman-test.apigee.net/edgemicro-auth/refresh \ -H 'Content-Type: application/json' \ -d '{ "client_id":"mpK6l1Bx9RoE5zLifoDbpF931TDnDtLq", "client_secret":"bUdDc2Fv3nMXffnU", "grant_type":"refresh_token", "refresh_token":"your-refresh-token" }'
API sẽ trả về một mã truy cập mới. Câu trả lời sẽ có dạng như sau:
{ "token": "your-new-access-token" }
Giám sát vĩnh viễn
Vĩnh viễn là một công cụ Node.js giúp tự động khởi động lại ứng dụng Node.js trong trường hợp quy trình bị gián đoạn hoặc gặp lỗi. Cạnh Microgateway có một tệp forever.json mà bạn có thể định cấu hình để kiểm soát số lượng tệp và khoảng thời gian khởi động lại Edge Microgateway. Tệp này định cấu hình một Dịch vụ vĩnh viễn có tên forever-monitor, giúp quản lý vĩnh viễn dịch vụ này theo phương thức lập trình.
Bạn có thể tìm thấy tệp forever.json trong phần cài đặt gốc của Edge Microgateway thư mục. Xem Edge Microgateway được cài đặt ở đâu. Để biết chi tiết về các tuỳ chọn cấu hình, hãy tham khảo tài liệu giám sát vĩnh viễn.
Lệnh edgemicro forever
bao gồm các cờ cho phép bạn chỉ định vị trí của
tệp forever.json
(cờ -f
) và bắt đầu/dừng tính năng giám sát vĩnh viễn
(cờ -a
). Ví dụ:
edgemicro forever -f ~/mydir/forever.json -a start
Để biết thêm thông tin, hãy xem phần Giám sát vĩnh viễn trong tài liệu tham khảo về CLI.
Chỉ định điểm cuối của tệp cấu hình
Nếu chạy nhiều thực thể Edge Microgateway, bạn nên quản lý cấu hình của các thực thể đó từ một vị trí. Bạn có thể thực hiện việc này bằng cách chỉ định điểm cuối HTTP mà Edge Micro có thể tải tệp cấu hình xuống. Bạn có thể chỉ định điểm cuối này khi khởi động Edge Micro bằng cờ -u.
Ví dụ:
edgemicro start -o jdoe -e test -u http://mylocalserver/mgconfig -k public_key -s secret_key
nơi điểm cuối mgconfig trả về nội dung của tệp cấu hình. Đây là tệp
theo mặc định, nằm trong ~/.edgemicro
và có quy ước đặt tên:
org-env-config.yaml
Tắt chế độ lưu vào bộ đệm dữ liệu kết nối TCP
Bạn có thể sử dụng thuộc tính cấu hình nodelay
để tắt tính năng lưu vào bộ đệm dữ liệu cho
kết nối TCP mà Edge Microgateway sử dụng.
Theo mặc định, các kết nối TCP sử dụng Nagle
thuật toán để lưu dữ liệu vào vùng đệm trước khi gửi đi. Đặt nodelay
thành true
,
tắt hành vi này (dữ liệu sẽ kích hoạt dữ liệu ngay lập tức mỗi lần
socket.write()
sẽ được gọi). Xem thêm phần Node.js
để biết thêm chi tiết.
Để bật nodelay
, hãy chỉnh sửa tệp cấu hình Edge Micro như sau:
edgemicro: nodelay: true port: 8000 max_connections: 1000 config_change_poll_interval: 600 logging: level: error dir: /var/tmp stats_log_interval: 60 rotate_interval: 24
Chạy Edge Microgateway ở chế độ độc lập
Bạn có thể chạy Edge Microgateway mà không cần kết nối hoàn toàn khỏi bất kỳ Phần phụ thuộc Apigee Edge. Tình huống này được gọi là chế độ độc lập, cho phép bạn chạy và kiểm thử Edge Microgateway mà không cần kết nối Internet.
Ở chế độ độc lập, các tính năng sau không hoạt động vì chúng cần có kết nối với Apigee Edge:
- OAuth và khoá API
- Hạn mức
- Số liệu phân tích
Mặt khác, các trình bổ trợ tuỳ chỉnh và chức năng bắt tăng đột biến hoạt động bình thường vì chúng không
cần kết nối với Apigee Edge. Ngoài ra, một trình bổ trợ mới có tên là extauth
cho phép bạn
cho phép các lệnh gọi API đến cổng vi mô bằng JWT khi ở chế độ độc lập.
Định cấu hình và khởi động cổng vào
Cách chạy Edge Microgateway ở chế độ độc lập:
- Đảm bảo rằng bạn đã cài đặt Edge Microgateway phiên bản 2.5.25 trở lên. Nếu không, bạn phải
thực thi lệnh sau để nâng cấp lên phiên bản mới nhất:
npm install -g edgemicro
Nếu bạn cần được trợ giúp, hãy xem phần Cài đặt Edge Cổng nhỏ.
- Tạo một tệp cấu hình có tên như sau:
$HOME/.edgemicro/
org_name-
env_name-config.yaml
Ví dụ:
vi $HOME/.edgemicro/foo-bar-config.yaml
- Dán mã sau vào tệp:
edgemicro: port: 8000 max_connections: 1000 config_change_poll_interval: 600 logging: level: error dir: /var/tmp stats_log_interval: 60 rotate_interval: 24 plugins: sequence: - extauth - spikearrest headers: x-forwarded-for: true x-forwarded-host: true x-request-id: true x-response-time: true via: true extauth: publickey_url: https://www.googleapis.com/oauth2/v1/certs spikearrest: timeUnit: second allow: 10 buffersize: 0
- Xuất biến môi trường sau với giá trị "1":
export EDGEMICRO_LOCAL=1
- Thực thi lệnh
start
sau đây, nơi bạn cung cấp các giá trị để tạo thực thể proxy cục bộ:edgemicro start -o org_name -e environment_name -a local_proxy_name \ -v local_proxy_version -t target_url -b base_path
Trong trường hợp:
- your_org là "tổ chức" mà bạn đã sử dụng trong tên tệp cấu hình.
- your_environment là "môi trường" tên mà bạn đã sử dụng trong tệp cấu hình .
- local_proxy_name là tên của proxy cục bộ sẽ được tạo. Bạn có thể sử dụng bất kỳ tên nào bạn muốn.
- local_proxy_version là số phiên bản của proxy.
- target_url là URL mục tiêu của proxy. (Mục tiêu là dịch vụ mà proxy gọi).
- base_path là đường dẫn cơ sở của proxy. Giá trị này phải bắt đầu bằng một giá trị chuyển tiếp dấu gạch chéo. Đối với đường dẫn cơ sở gốc, chỉ xác định dấu gạch chéo lên; ví dụ: "/".
Ví dụ:
edgemicro start -o local -e test -a proxy1 -v 1 -t http://mocktarget.apigee.net -b /
- Kiểm tra cấu hình.
curl http://localhost:8000/echo { "error" : "missing_authorization" }
Vì trình bổ trợ
extauth
nằm trong tệpfoo-bar-config.yaml
, nên bạn nhận được một "missing_uỷ quyền" . Trình bổ trợ này xác thực JWT phải có trong phần Uỷ quyền tiêu đề của lệnh gọi API. Trong phần tiếp theo, bạn sẽ nhận được JWT cho phép thực hiện lệnh gọi API mà không gặp lỗi.
Ví dụ: Lấy mã thông báo uỷ quyền
Ví dụ sau đây cho thấy cách lấy JWT qua điểm cuối JWT của Edge Microgateway trên Apigee Edge (edgemicro-auth/jwkPublicKeys
).
Điểm cuối này được triển khai khi bạn thực hiện quá trình thiết lập và định cấu hình chuẩn của Edge Microgateway.
Để có được JWT từ điểm cuối Apigee, trước tiên, bạn phải thiết lập Edge Microgateway tiêu chuẩn, và
kết nối với Internet. Điểm cuối Apigee được dùng tại đây cho các mục đích ví dụ
và không bắt buộc. Bạn có thể sử dụng một điểm cuối mã thông báo JWT khác nếu muốn. Nếu làm như vậy thì bạn sẽ cần lấy JWT bằng cách sử dụng
API được cung cấp cho điểm cuối đó.
Các bước sau đây giải thích cách lấy mã thông báo bằng điểm cuối edgemicro-auth/jwkPublicKeys
:.
- Bạn phải thực hiện tiêu chuẩn
thiết lập và định cấu hình của Edge Microgateway để triển khai proxy
edgemicro-auth
cho tổ chức/môi trường của bạn trên Apigee Edge. Nếu trước đây đã thực hiện bước này thì bạn không cần lặp lại. - Nếu đã triển khai Edge Microgateway cho Apigee Cloud, bạn phải kết nối với Internet để có thể nhận JWT từ điểm cuối này.
-
Dừng Edge Microgateway:
edgemicro stop
- Trong tệp cấu hình mà bạn đã tạo trước đó (
$HOME/.edgemicro
/org-env-config.yaml
), trỏextauth:publickey_url
cho điểm cuốiedgemicro-auth/jwkPublicKeys
trong tổ chức/môi trường Apigee Edge của bạn. Ví dụ:extauth: publickey_url: 'https://your_org-your_env.apigee.net/edgemicro-auth/jwkPublicKeys'
-
Khởi động lại Edge Microgateway như bạn đã làm trước đó, sử dụng các tên tổ chức/env mà bạn đã dùng trong tên tệp cấu hình. Ví dụ:
edgemicro start -o foo -e bar -a proxy1 -v 1 -t http://mocktarget.apigee.net -b /
-
Nhận mã thông báo JWT từ điểm cuối uỷ quyền. Vì bạn đang sử dụng
edgemicro-auth/jwkPublicKeys
điểm cuối, bạn có thể sử dụng lệnh CLI sau:
Bạn có thể tạo JWT cho Edge Microgateway bằng lệnh edgemicro token
hoặc
một API. Ví dụ:
edgemicro token get -o your_org -e your_env \ -i G0IAeU864EtBo99NvUbn6Z4CBwVcS2 -s uzHTbwNWvoSmOy
Trong trường hợp:
- your_org là tên của tổ chức Apigee của bạn mà trước đây bạn đã định cấu hình cho Edge Microgateway.
- your_env là một môi trường trong tổ chức.
- Tuỳ chọn
i
chỉ định Khoá người tiêu dùng từ một ứng dụng của nhà phát triển có một sản phẩm bao gồm proxyedgemicro-auth
. - Tuỳ chọn
s
chỉ định Khoá bí mật người dùng của một ứng dụng của nhà phát triển có sản phẩm bao gồm proxyedgemicro-auth
.
Lệnh này yêu cầu Apigee Edge tạo một JWT sau đó có thể dùng để xác minh API cuộc gọi.
Hãy xem thêm bài viết Tạo mã thông báo.Kiểm thử cấu hình độc lập
Để kiểm tra cấu hình, hãy gọi API kèm theo mã thông báo trong tiêu đề Uỷ quyền như sau:
curl http://localhost:8000/echo -H "Authorization: Bearer your_token
Ví dụ:
curl http://localhost:8000/echo -H "Authorization: Bearer eyJraWQiOiIxIiwidHlwIjo...iryF3kwcDWNv7OQ"
Kết quả điểm dữ liệu:
{ "headers":{ "user-agent":"curl/7.54.0", "accept":"*/*", "x-api-key":"DvUdLlFwG9AvGGpEgfnNGwtvaXIlUUvP", "client_received_start_timestamp":"1535134472699", "x-authorization-claims":"eyJhdDbiO...M1OTE5MTA1NDkifQ==", "target_sent_start_timestamp":"1535134472702", "x-request-id":"678e3080-a7ae-11e8-a70f-87ae30db3896.8cc81cb0-a7c9-11e8-a70f-87ae30db3896", "x-forwarded-proto":"http", "x-forwarded-host":"localhost:8000", "host":"mocktarget.apigee.net", "x-cloud-trace-context":"e2ac4fa0112c2d76237e5473714f1c85/1746478453618419513", "via":"1.1 localhost, 1.1 google", "x-forwarded-for":"::1, 216.98.205.223, 35.227.194.212", "connection":"Keep-Alive" }, "method":"GET", "url":"/", "body":"" }
Sử dụng chế độ proxy cục bộ
Ở chế độ proxy cục bộ, Edge Microgateway không yêu cầu proxy nhận biết microgateway được triển khai trên Apigee Edge. Thay vào đó, bạn định cấu hình một "proxy cục bộ" bằng cách cung cấp tên proxy cục bộ, đường dẫn cơ sở và URL mục tiêu khi bạn khởi động cổng nhỏ. Sau đó, các lệnh gọi API đến cổng vi mô sẽ được gửi đến mục tiêu URL của proxy cục bộ. Trong tất cả các khía cạnh khác, chế độ proxy cục bộ hoạt động giống hệt như chạy Edge Microgateway ở chế độ thông thường. Xác thực hoạt động như nhau và tăng đột biến bắt giữ và thực thi hạn mức, plugin tuỳ chỉnh, v.v.
Trường hợp sử dụng và ví dụ
Chế độ proxy cục bộ rất hữu ích khi bạn chỉ cần liên kết một proxy duy nhất với một cổng Microgate thực thể. Ví dụ: bạn có thể chèn Edge Microgateway vào Kubernetes dưới dạng proxy trợ giúp, trong đó mỗi cổng vi mô và dịch vụ chạy trong một nhóm duy nhất và là nơi cổng vi mô quản lý lưu lượng truy cập đến và dịch vụ đồng hành. Hình sau đây minh hoạ cấu trúc này, trong đó Edge Microgateway hoạt động như một proxy phụ trong một cụm Kubernetes. Mỗi thực thể microgateway sẽ trò chuyện chỉ cho một điểm cuối duy nhất trên dịch vụ đồng hành:
Lợi ích của kiểu kiến trúc này là Edge Microgateway cung cấp API quản lý cho các dịch vụ riêng lẻ được triển khai cho môi trường vùng chứa, chẳng hạn như một cụm Kubernetes.
Định cấu hình chế độ proxy cục bộ
Để định cấu hình Edge Microgateway chạy ở chế độ proxy cục bộ, hãy làm theo các bước sau:
- Đảm bảo rằng bạn đã cài đặt Edge Microgateway phiên bản 2.5.25 trở lên. Nếu không, bạn phải
thực thi lệnh sau để nâng cấp lên phiên bản mới nhất:
npm install -g edgemicro
Nếu bạn cần được trợ giúp, hãy xem phần Cài đặt Edge Cổng nhỏ.
- Chạy
edgemicro init
để thiết lập chính xác môi trường cấu hình cục bộ của bạn giống như cách thiết lập Edge Microgateway thông thường. Xem thêm Định cấu hình Edge Microgateway. - Chạy
edgemicro configure
, như cách bạn thiết lập Edge Microgateway thông thường quy trình. Ví dụ:edgemicro configure -o your_org -e your_env -u your_apigee_username
Lệnh này sẽ triển khai chính sách edgemicro-auth cho Edge và trả về một khoá và bí mật rằng bạn sẽ cần khởi động cổng nhỏ. Nếu bạn cần trợ giúp, hãy xem Định cấu hình Edge Microgateway.
- Trên Apigee Edge, hãy tạo một sản phẩm API có cấu hình bắt buộc sau đây
theo yêu cầu (bạn có thể quản lý tất cả các cấu hình khác như bạn muốn):
- Bạn phải thêm proxy edgemicro-auth vào sản phẩm. Proxy này
đã tự động được triển khai khi bạn chạy
edgemicro configure
. - Bạn phải cung cấp đường dẫn tài nguyên. Apigee khuyên bạn nên thêm đường dẫn này vào
sản phẩm:
/**
. Để tìm hiểu thêm, hãy xem phần Định cấu hình hành vi của đường dẫn tài nguyên. Xem thêm bài viết Tạo API trong tài liệu Edge.
- Bạn phải thêm proxy edgemicro-auth vào sản phẩm. Proxy này
đã tự động được triển khai khi bạn chạy
Trên Apigee Edge, hãy tạo một nhà phát triển hoặc bạn có thể dùng một nhà phát triển hiện có nếu bạn mong muốn. Để được trợ giúp, hãy xem phần Thêm nhà phát triển bằng giao diện người dùng quản lý Edge.
- Trên Apigee Edge, hãy tạo một ứng dụng dành cho nhà phát triển. Bạn phải thêm sản phẩm API mà bạn vừa tạo vào ứng dụng. Để được trợ giúp, hãy xem phần Đăng ký ứng dụng trong Edge giao diện người dùng quản lý.
- Trên máy cài đặt Edge Microgateway, hãy xuất các tệp sau
biến môi trường có giá trị "1".
export EDGEMICRO_LOCAL_PROXY=1
- Thực thi lệnh
start
sau:edgemicro start -o your_org -e your_environment -k your_key -s your_secret \ -a local_proxy_name -v local_proxy_version -t target_url -b base_path
Trong trường hợp:
- your_org là tổ chức Apigee của bạn.
- your_environment là một môi trường trong tổ chức của bạn.
- your_key là khoá được trả về khi bạn chạy
edgemicro configure
- your_secret là mã thông báo bí mật được trả về khi bạn chạy
edgemicro configure
- local_proxy_name là tên của proxy cục bộ sẽ được tạo.
- local_proxy_version là số phiên bản của proxy.
- target_url là URL đích của proxy (dịch vụ mà proxy sẽ cuộc gọi).
- base_path là đường dẫn cơ sở của proxy. Giá trị này phải bắt đầu bằng một giá trị chuyển tiếp dấu gạch chéo. Đối với đường dẫn cơ sở gốc, chỉ xác định dấu gạch chéo lên; ví dụ: "/".
Ví dụ:
edgemicro start -o your_org -e test -k 7eb6aae644cbc09035a...d2eae46a6c095f \ -s e16e7b1f5d5e24df...ec29d409a2df853163a -a proxy1 -v 1 \ -t http://mocktarget.apigee.net -b /echo
Kiểm thử cấu hình
Bạn có thể kiểm tra cấu hình proxy cục bộ bằng cách gọi điểm cuối proxy. Ví dụ:
nếu đã chỉ định một đường dẫn cơ sở của /echo
, bạn có thể gọi proxy như sau:
curl http://localhost:8000/echo { "error" : "missing_authorization", "error_description" : "Missing Authorization header" }
Lệnh gọi API ban đầu này đã gây ra lỗi vì bạn không cung cấp khoá API hợp lệ. Bạn có thể tìm thấy khoá trong ứng dụng dành cho nhà phát triển mà bạn đã tạo trước đây. Mở ứng dụng trong giao diện người dùng Edge, sao chép Khoá người dùng và sử dụng khoá đó như sau:
curl http://localhost:8000/echo -H 'x-api-key:your_api_key'
Ví dụ:
curl http://localhost:8000/echo -H "x-api-key:DvUdLlFwG9AvGGpEgfnNGwtvaXIlUUvP"
Kết quả điểm dữ liệu:
{ "headers":{ "user-agent":"curl/7.54.0", "accept":"*/*", "x-api-key":"DvUdLlFwG9AvGGpEgfnNGwtvaXIlUUvP", "client_received_start_timestamp":"1535134472699", "x-authorization-claims":"eyJhdWQiOi...TQ0YmUtOWNlOS05YzM1OTE5MTA1NDkifQ==", "target_sent_start_timestamp":"1535134472702", "x-request-id":"678e3080-a7ae-11e8-a70f-87ae30db3896.8cc81cb0-a7c9-11e8-a70f-87ae30db3896", "x-forwarded-proto":"http", "x-forwarded-host":"localhost:8000", "host":"mocktarget.apigee.net", "x-cloud-trace-context":"e2ac4fa0112c2d76237e5473714f1c85/1746478453618419513", "via":"1.1 localhost, 1.1 google", "x-forwarded-for":"::1, 216.98.205.223, 35.227.194.212", "connection":"Keep-Alive" }, "method":"GET", "url":"/", "body":"" }