Tài liệu tham khảo về hoạt động và cấu hình cho Edge Microgateway

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.4.x

Tổng quan

Chủ đề này thảo luận cách quản lý và định cấu hình Edge Microgateway, bao gồm cả việc giám sát, ghi nhật ký và gỡ lỗi.

Thực hiện 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. Để biết thông tin về chế độ cài đặt tệp cấu hình, hãy xem phần Cấu hình Edge Microgateway tham khảo.

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 Vị trí có được cài đặt Edge Microgateway không.

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ỏ:

  1. Gọi cho edgemicro init
  2. Gọi cho edgemicro configure [params]
  3. Gọi cho 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 (mô tả ở trên), default.yaml, được đặt trong thư mục này: ~/.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:

  1. edgemicro stop
  2. edgemicro configure [params]
  3. 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 đó orgenv là tổ chức Apigee Edge của bạn và tên môi trường. Bạn có thể dùng tệp này để thay đổi cấu hình, sau đó tải lại mà không có thời gian ngừng hoạt động. Ví dụ: nếu thêm và định cấu hình một trình bổ trợ, bạn có thể tải lại mà không làm phát sinh 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):

  1. Tải lại cấu hình Edge Microgateway:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    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ư môi trường thử nghiệm hoặc sản phẩm).
    • key là khoá được cấu hình trả về trước đó .
    • secret là khoá được trả về trước đó bởi config.

    Ví dụ

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

Nếu Edge Microgateway bị dừng:

  1. Khởi động lại Edge Microgateway:
    edgemicro start -o [org] -e [env] -k [key] -s [secret]

    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ư môi trường thử nghiệm hoặc sản phẩm).
    • key là khoá được cấu hình trả về trước đó .
    • secret là khoá được trả về trước đó bởi config.

    Ví dụ

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

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, xem phần Edge Microgateway tham chiếu cấu hình.

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:

  1. 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.
  2. Thêm thuộc tính edgemicro:ssl vào Edge Microgateway tệp cấu hình. Để xem danh sách đầy đủ các lựa chọn, hãy xem bảng bên dưới. Để biết thông tin chi tiết về sửa đổi cấu hình Edge Microgateway, hãy xem phần Thực hiện thay đổi cấu hình. 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 
  3. 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 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ó cấu hình SSL:

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à Chứng chỉ CA của ứng dụ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ủ:

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:

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:

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à Chứng chỉ CA của ứng dụ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ột trang web JSON Mã thông báo (JWT), định cấu hình thời gian hết 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 trong 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 này đượ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. Cho 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 . Để biết chi tiết về cách thực hiện thay đổi cấu hình, xem Thực hiện thay đổi cấu hình.

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 API và các câu trả lời 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. Để biết chi tiết về cách tạo thay đổi cấu hình, xem Tạo cấu hình thay đổi.

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

Lưu ý: Tệp nhật ký đã lưu trữ không được nén. Khi khoảng thời gian này bắt đầu, tệp nhật ký mới sẽ được tạo với một dấu thời gian mới.

Tốt phương pháp bảo trì tệp nhật ký

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ý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ý, thì 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 DEBUG=* khi bạn khởi động Edge Microgateway. Ví dụ:

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

Lưu ý: Trên Windows, hãy sử dụng SET DEBUG=*

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 vòng trong khoảng thời gian được chỉ định bởi cấu hình rotate_interval . Các mục nhập sẽ tiếp tục được thêm vào cùng một tệp nhật ký cho đến khoảng thời gian xoay vòng hết hạn. Tuy nhiên, mỗi lần khởi động lại Edge Microgateway, ứng dụng đó sẽ nhận được một UID mới và tạo một tập hợp tệp nhật ký mới bằng UID này. Xem thêm Các phương pháp hay để duy trì tệp nhật ký.

Cấu hình Microgateway tham chiếu

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. Để biết chi tiết về cách thực hiện thay đổi cấu hình, xem Thực hiện thay đổi cấu hình.

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. Xem phần Cài đặt 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. Xem phần Cài đặt 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.
  • 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 thay đổi tự động thăm dò ý kiến.
  • 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. Hãy xem thêm bài viết Sử dụng khoá API.
  • keepAuthHeader: (default: false) Nếu được đặt thành true, 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 Tiêu đề uỷ quyền có Mã truy cập của người dùng. Chỉ cho phép bạn cho phép phương thức bảo mật OAuth mô hình (trong khi vẫn duy trì khả năng tương thích ngược). (Đã thêm 4.2.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.Allows bạn chỉ 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 4.2.x)

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

Ẩ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'

Thiết lập Edge Microgateway sau tường lửa của công ty

Phiên bản 4.2.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_tunneltrue, Edge Microgateway sử dụng phương thức HTTP CONNECT để 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 TLS được bật).

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ý Edge Microgateway proxy: HTTP_PROXY, HTTPS_PROXY, và NO_PROXY.

Bạn có thể đặt NO_PROXY thành một danh sách các miền được phân tách bằng dấu phẩy mà Edge Microgateway không được phép kết nối proxy. Ví dụ:

export NO_PROXY='localhost,localhost:8080'

Đặt HTTP_PROXYHTTPS_PROXY thành HTTP điểm cuối proxy Edge Microgateway có thể gửi tin nhắn 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 một proxy edgemicro_* (nhận biết được Microgateway). Ví dụ: đường dẫn cơ sở of /team/*/members cho phép khách hàng gọi https://[host]/team/blue/membershttps://[host]/team/green/members mà không cần bạn cần tạo các proxy API mới để hỗ trợ các nhóm mới. Ghi chú /**/ 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ụ: đây KHÔNG phải là được hỗ trợ: tìm kiếm /*/.


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.

  1. 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 bắt đầu của lệnh khởi động. Ví dụ:

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

    Lưu ý: Trên Windows, hãy sử dụng SET DEBUG=*

  2. 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.
  3. 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 bảo mật bằng 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 phương thức bảo mật mã thông báo OAuth2

Để biết thông tin chi tiết về cách sử dụng mã thông báo OAuth với các yêu cầu proxy, hãy xem phần Bảo mật Edge Microgateway.

Sử dụng khoá API

Để biết thông tin chi tiết về cách sử dụng khoá API với yêu cầu proxy, hãy xem phần Bảo mật Edge Microgateway.

Định cấu hình tên khoá API

Theo mặc định, x-api-key là tên được dùng cho tiêu đề hoặc truy vấn khoá API . 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. Đối với ví dụ: để đổi tên thành apiKey:

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