Edge Microgateway의 작업 및 구성 참조

<ph type="x-smartling-placeholder"></ph> 현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서.
정보

Edge Microgateway v. 2.4.x

개요

이 주제에서는 모니터링을 포함하여 Edge Microgateway를 관리하고 구성하는 방법을 설명합니다. 로깅, 디버깅이 포함됩니다

구성 변경하기

알아야 할 구성 파일은 다음과 같습니다.

  • 기본 시스템 구성 파일
  • 새로 초기화된 Edge Microgateway 인스턴스의 기본 구성 파일
  • 실행 중인 인스턴스의 동적 구성 파일

이 섹션에서는 이러한 파일과 파일 변경에 대해 알아야 할 사항을 설명합니다. 자세히 알아보기 구성 파일 설정에 대한 자세한 내용은 Edge Microgateway 구성 참조 참조

기본 시스템 구성 파일

Edge Microgateway를 설치하면 기본 시스템 구성 파일이 다음 위치에 저장됩니다.

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

여기서 [prefix]npm 프리픽스 디렉터리입니다. 자세한 내용은 위치 Edge Microgateway가 설치되어 있음

시스템 구성 파일을 변경하는 경우 Edge를 다시 초기화 및 재구성한 후 다시 시작해야 합니다. Microgateway:

  1. edgemicro init에 전화하기
  2. edgemicro configure [params]에 전화하기
  3. edgemicro start [params]에 전화하기

새로 초기화된 Edge Microgateway 인스턴스의 기본 구성 파일

edgemicro init를 실행하면 시스템 구성 파일 (위에서 설명) default.yaml이(가) 다음 디렉터리에 저장됩니다. ~/.edgemicro

~/.edgemicro에서 구성 파일을 변경하면 재구성 후 다시 시작해야 합니다. Edge Microgateway:

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

동적 실행 중인 인스턴스를 위한 구성 파일

edgemicro configure [params]를 실행하면 동적 구성 파일이 약 /.edgemicro에 생성됩니다. 파일 이름은 패턴: [org]-[env]-config.yaml, 여기서 orgenv는 Apigee Edge 조직입니다. 생성할 수 있습니다 이 파일을 사용하여 구성을 변경한 다음 다시 로드할 수 있습니다. 제공합니다 예를 들어 플러그인을 추가하고 구성하는 경우 다운타임 없이 구성을 업데이트할 수 있습니다

Edge Microgateway가 실행 중인 경우 (다운타임 없음 옵션):

  1. Edge Microgateway 구성을 새로고침합니다.
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    각 항목의 의미는 다음과 같습니다.

    • org은 Edge 조직 이름입니다( 조직 관리자)에게 문의하세요.
    • env는 조직의 환경 (예: 테스트 또는 prod).
    • key는 이전에 구성에서 반환한 키입니다. 명령어와 함께 사용하면 됩니다
    • secret는 이전에 반환한 키입니다. 구성 명령을 실행합니다.

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

Edge Microgateway가 중지된 경우:

  1. Edge Microgateway를 다시 시작합니다.
    edgemicro start -o [org] -e [env] -k [key] -s [secret]

    각 항목의 의미는 다음과 같습니다.

    • org은 Edge 조직 이름입니다( 조직 관리자)에게 문의하세요.
    • env는 조직의 환경 (예: 테스트 또는 prod).
    • key는 이전에 구성에서 반환한 키입니다. 명령어와 함께 사용하면 됩니다
    • secret는 이전에 반환한 키입니다. 구성 명령을 실행합니다.

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

다음은 구성 파일의 예입니다. 구성 파일 설정에 대한 자세한 내용은 Edge Microgateway를 참조하세요. 구성 참조

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

환경 변수 설정

Edge 조직 및 조직의 값이 필요한 명령줄 인터페이스 명령어입니다. Edge Microgateway를 시작하는 데 필요한 키와 보안 비밀은 환경 변수:

  • EDGEMICRO_ORG
  • EDGEMICRO_ENV
  • EDGEMICRO_KEY
  • EDGEMICRO_SECRET

이러한 변수를 설정하는 것은 선택사항입니다. 이 속성을 설정하면 값을 지정하지 않아도 됩니다. 명령줄 인터페이스 (CLI)를 사용하여 Edge Microgateway를 구성하고 시작할 때

Edge Microgateway에서 SSL 구성 서버

SSL을 사용하도록 Microgateway 서버를 구성할 수 있습니다. 예를 들어 SSL을 구성한 경우 'https'를 사용하여 Edge Microgateway를 통해 API를 호출할 수 있음 다음과 같습니다.

https://localhost:8000/myapi

Microgateway 서버에서 SSL을 구성하려면 다음 단계를 따르세요.

  1. openssl 유틸리티 또는 원하는 방법을 사용하여 SSL 인증서와 키를 생성하거나 가져옵니다.
  2. Edge Microgateway에 edgemicro:ssl 속성을 추가합니다. 구성 파일을 참조하세요. 전체 옵션 목록은 아래 표를 참고하세요. 자세한 내용은 Edge Microgateway 구성 수정은 구성 변경을 참조하세요. 예를 들면 다음과 같습니다.
     edgemicro:
         ssl:
             key: <absolute path to the SSL key file>
             cert: <absolute path to the SSL cert file>
             passphrase: admin123 #option added in v2.2.2
             rejectUnauthorized: true #option added in v2.2.2
             requestCert: true 
    드림
  3. Edge Microgateway를 다시 시작합니다. 다음에 따라 구성 변경에 설명된 단계를 따릅니다. 기본 파일 또는 런타임 구성 파일 중 하나입니다.

다음은 SSL이 구성된 구성 파일의 Edgemicro 섹션 예입니다.

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

다음은 지원되는 모든 서버 옵션의 목록입니다.

옵션 설명
key ca.key 파일의 경로 (PEM 형식)입니다.
cert ca.cert 파일의 경로 (PEM 형식)입니다.
pfx 비공개 키, 인증서 및 인증서가 포함된 pfx 파일의 경로 PFX 형식의 클라이언트의 CA 인증서입니다.
passphrase 비공개 키 또는 PFX의 암호가 포함된 문자열입니다.
ca PEM 형식의 신뢰할 수 있는 인증서 목록이 포함된 파일의 경로입니다.
ciphers 사용할 암호화를 설명하는 문자열로, ':'으로 구분됩니다.
rejectUnauthorized true인 경우, 서버 인증서가 제공된 CA의 목록과 대조됩니다. 만약 인증이 실패하면 오류가 반환됩니다.
secureProtocol 사용할 SSL 메서드입니다. 예를 들어 SSLv3_method는 SSL을 버전 3으로 강제 적용합니다.
servername SNI (서버 이름 표시) TLS 확장 프로그램의 서버 이름입니다.
requestCert 양방향 SSL의 경우 true이고, 단방향 SSL인 경우 false

클라이언트 SSL/TLS 옵션 사용

대상에 연결할 때 Edge Microgateway를 TLS 또는 SSL 클라이언트로 구성할 수 있습니다. 엔드포인트가 있습니다 Microgateway 구성 파일에서 대상 요소를 사용하여 SSL/TLS를 설정합니다. 있습니다.

이 예에서는 모든 호스트에 적용될 설정을 제공합니다.

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

이 예에서 설정은 지정된 호스트에만 적용됩니다.

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

다음은 TLS의 예입니다.

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

다음은 지원되는 모든 클라이언트 옵션의 목록입니다.

옵션 설명
pfx 비공개 키, 인증서 및 인증서가 포함된 pfx 파일의 경로 PFX 형식의 클라이언트의 CA 인증서입니다.
key ca.key 파일의 경로 (PEM 형식)입니다.
passphrase 비공개 키 또는 PFX의 암호가 포함된 문자열입니다.
cert ca.cert 파일의 경로 (PEM 형식)입니다.
ca PEM 형식의 신뢰할 수 있는 인증서 목록이 포함된 파일의 경로입니다.
ciphers 사용할 암호화를 설명하는 문자열로, ':'으로 구분됩니다.
rejectUnauthorized true인 경우, 서버 인증서가 제공된 CA의 목록과 대조됩니다. 만약 인증이 실패하면 오류가 반환됩니다.
secureProtocol 사용할 SSL 메서드입니다. 예를 들어 SSLv3_method는 SSL을 버전 3으로 강제 적용합니다.
servername SNI (서버 이름 표시) TLS 확장 프로그램의 서버 이름입니다.

Edgemicro-auth 프록시 맞춤설정

기본적으로 Edge Microgateway는 Apigee Edge에 배포된 프록시를 OAuth2 인증에 사용합니다. 이 프록시는 edgemicro configure을 처음 실행할 때 배포됩니다. 다음과 같은 작업을 할 수 있습니다. JSON 웹에 커스텀 클레임 지원을 추가하기 위해 이 프록시의 기본 구성 변경 토큰 (JWT), 토큰 만료 구성, 갱신 토큰 생성 자세한 내용은 edgemicro-auth 페이지 를 참조하세요.

커스텀 인증 서비스 사용

기본적으로 Edge Microgateway는 Apigee Edge에 배포된 프록시를 OAuth2 인증에 사용합니다. 이 프록시는 edgemicro configure을 처음 실행할 때 배포됩니다. 기본적으로 이 프록시의 URL은 다음과 같이 Edge Microgateway 구성 파일에 지정됩니다.

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

자체 커스텀 서비스를 사용하여 인증을 처리하려면 구성 파일의 authUri 값이 서비스를 가리키도록 합니다. 대상 LDAP를 사용해 신원을 확인하는 서비스를 예로 들 수 있습니다.

<ph type="x-smartling-placeholder">를 통해 개인정보처리방침을 정의할 수 있습니다.

관리 로그 파일

Edge Microgateway는 각 요청 및 응답에 대한 정보를 로깅합니다. 로그 파일은 디버깅 및 문제 해결을 위한 정보를 제공합니다.

로그 파일 저장 위치

기본적으로 로그 파일은 /var/tmp에 저장됩니다.

기본 로그 변경 방법 파일 디렉터리

로그 파일이 저장되는 디렉터리는 Edge Microgateway 구성에서 지정됩니다. 파일에서 참조됩니다. 구성 변경에 대한 자세한 내용은 구성 변경하기를 참고하세요.

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

dir 값을 변경하여 다른 로그 파일 디렉터리를 지정합니다.

콘솔에 로그 보내기

로그 정보를 로그 파일. 다음과 같이 to_console 플래그를 true로 설정합니다.

edgemicro:
  logging:
    to_console: true  

이 설정을 사용하면 로그가 표준 출력으로 전송됩니다. 현재는 두 리전 모두에 로그를 보낼 수 없습니다 stdout 및 로그 파일에 추가합니다.

로깅 수준을 설정하는 방법

info, warn, 및 error를 생성합니다. 정보 수준은 권장됩니다. 모든 API 요청을 로깅하고 기본으로 설정되어 있습니다.

로그 간격을 변경하는 방법

Edge Microgateway 구성 파일에서 이러한 간격을 구성할 수 있습니다. 만드는 방법에 대한 자세한 내용은 자세한 내용은 구성 만들기 변경사항을 참조하세요.

구성 가능한 속성은 다음과 같습니다.

  • stats_log_interval: (기본값: 60) 통계가 입력될 시간(초) 레코드가 API 로그 파일에 기록됩니다.
  • rotate_interval: (기본값: 24) 로그 파일이 기록되는 간격(시간) 회전합니다. 예를 들면 다음과 같습니다.
edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

참고: 보관처리된 로그 파일은 압축되지 않습니다. 간격이 시작되면 새 로그 파일이 새 타임스탬프로 생성됩니다.

좋음 로그 파일 유지관리 권장사항

로그 파일 데이터가 시간이 지남에 따라 누적되므로 Apigee에서는 다음을 채택하는 것이 좋습니다. 관행:

  • 로그 파일이 상당히 커질 수 있으므로 로그 파일 디렉토리가 공간이 충분해야 합니다. 아래의 로그 파일 저장 위치기본 로그 파일 변경 방법 섹션을 참고하세요. 디렉터리에서 확인하세요.
  • 일주일에 한 번 이상 로그 파일을 삭제하거나 별도의 보관 디렉토리로 이동합니다.
  • 로그를 삭제하는 정책인 경우 CLI 명령어 edgemicro log -c를 사용하여 오래된 로그를 삭제 (정리)할 수 있습니다.

로그 파일 이름 지정 규칙

각 Edge Microgateway 인스턴스는 세 가지 유형의 로그 파일을 생성합니다.

  • api - Edge를 통해 전달되는 모든 요청과 응답을 로깅합니다. Microgateway를 지원합니다. API 카운터 (통계) 및 오류도 이 파일에 기록됩니다.
  • err - stderr로 전송된 모든 내용을 기록합니다.
  • out - stdout으로 전송된 모든 항목을 기록합니다.

이름 지정 규칙은 다음과 같습니다.

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

예를 들면 다음과 같습니다.

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

로그 파일 콘텐츠 정보

추가된 위치: v2.3.3

기본적으로 로깅 서비스는 다운로드한 프록시, 제품, JSON의 JSON을 생략합니다. 웹 토큰 (JWT)입니다. 이러한 객체를 로그 파일로 출력하려면 DEBUG=*를 명시적으로 설정할 수 없습니다. 예를 들면 다음과 같습니다.

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

참고: Windows에서는 SET DEBUG=*를 사용합니다.

'api'의 내용 로그 파일

'api' 로그 파일에는 요청 및 응답의 흐름에 대한 자세한 정보가 포함되어 있습니다. Edge Microgateway를 통해 연결할 수 있습니다 'api' 로그 파일의 이름은 다음과 같습니다.

edgemicro-mymachine-local-MTQzNjIxOTk0NzY0Nw-api.log

Edge Microgateway로 전송된 각 요청에서 4개의 이벤트가 'api'에 캡처됨 로그 파일:

  • 클라이언트에서 수신 요청
  • 대상에 보낸 발신 요청
  • 대상에서 응답 수신
  • 클라이언트에 발신 응답

각각의 개별 항목은 로그를 작성하는 데 도움이 되도록 약식 표기법으로 표시됩니다. 더 압축할 수 있습니다. 다음은 4가지 이벤트 각각을 나타내는 4개의 샘플 항목입니다. 로그에서 다음과 같이 표시됩니다 (줄 번호는 문서에서 참조용으로만 사용되며 )입니다.

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

하나씩 살펴보겠습니다.

1. 클라이언트에서 수신되는 요청의 샘플:

1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
  • 1436403888651 - Unix 날짜 스탬프
  • info - 컨텍스트에 따라 다릅니다. 정보, 경고 또는 오류가 될 수 있습니다. 다른 로그 수준에 따라 지정할 수 있습니다 통계 기록, 경고 또는 경고에 대한 통계일 수 있습니다. 표시합니다.
  • req - 이벤트를 식별합니다. 이 경우 있습니다
  • m - 요청에 사용되는 HTTP 동사입니다.
  • u - URL에서 기본 경로 다음에 오는 부분입니다.
  • h - Edge Microgateway가 있는 호스트 및 포트 번호입니다. 있습니다.
  • r - 클라이언트가 요청하는 원격 호스트 및 포트 있습니다.
  • i - 요청 ID입니다. 4개의 이벤트 항목 모두 이 ID를 공유합니다. 각 고유한 요청 ID가 할당됩니다. 요청 ID별로 로그 레코드 상관관계를 파악하면 대상의 지연 시간에 대한 유용한 정보를 얻을 수 있습니다.
  • d - Edge Microgateway를 지원합니다. 위의 예에서는 요청 0에 대한 타겟의 응답이 수신되었습니다. 7밀리초 후에 (행 3) 4초가 더 지난 후 응답이 클라이언트로 밀리초 (줄 4) 즉, 총 요청 지연 시간은 대상에서 7밀리초, Edge Microgateway에서 4밀리초를 소요했습니다. 있습니다.

2. 대상에게 보낸 발신 요청의 샘플:

1436403888665 info treq m=GET, u=/, h=127.0.0.1:8080, i=0
  • 1436403888651 - Unix 날짜 스탬프
  • info - 컨텍스트에 따라 다릅니다. 정보, 경고 또는 오류가 될 수 있습니다. 다른 로그 수준에 따라 지정할 수 있습니다 통계 기록, 경고 또는 경고에 대한 통계일 수 있습니다. 표시합니다.
  • treq - 이벤트를 식별합니다. 여기에서는 target request입니다.
  • m - 타겟 요청에 사용되는 HTTP 동사입니다.
  • u - URL에서 기본 경로 다음에 오는 부분입니다.
  • h - 백엔드 대상의 호스트 및 포트 번호입니다.
  • i - 로그 항목의 ID입니다. 4개의 이벤트 항목 모두 이 내용을 공유합니다. 있습니다.

3. 대상으로부터 수신되는 응답의 샘플

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

1436403888651 - Unix 날짜 스탬프

  • info - 컨텍스트에 따라 다릅니다. 정보, 경고 또는 오류일 수 있습니다. 다른 로그 수준에 따라 지정할 수 있습니다 통계 기록, 경고 또는 경고에 대한 통계일 수 있습니다. 표시합니다.
  • tres - 이벤트를 식별합니다. 이 경우 목표 응답입니다.
  • s - HTTP 응답 상태입니다.
  • d - 지속 시간(밀리초)입니다. API 호출에 걸린 시간 타겟.
  • i - 로그 항목의 ID입니다. 4개의 이벤트 항목 모두 이 내용을 공유합니다. 있습니다.

4. 클라이언트에게 발신되는 응답 샘플

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

1436403888651 - Unix 날짜 스탬프

  • info - 컨텍스트에 따라 다릅니다. 정보, 경고 또는 오류일 수 있습니다. 다른 로그 수준에 따라 지정할 수 있습니다 통계 기록, 경고 또는 경고에 대한 통계일 수 있습니다. 표시합니다.
  • res - 이벤트를 식별합니다. 이 경우 있습니다
  • s - HTTP 응답 상태입니다.
  • d - 지속 시간(밀리초)입니다. 총 소요 시간 대상 API에 걸린 시간, Edge에 걸린 시간 등 API 호출 기준 Microgateway 자체를 지원합니다.
  • i - 로그 항목의 ID입니다. 4개의 이벤트 항목 모두 이 내용을 공유합니다. 있습니다.

로그 파일 일정

로그 파일은 rotate_interval 구성 속성을 사용합니다. 순환 간격까지 항목이 동일한 로그 파일에 계속 추가됩니다. 만료되지 않습니다. 하지만 Edge Microgateway가 다시 시작될 때마다 새 UID를 수신하고 이 UID로 새 로그 파일을 생성할 수 있습니다 올바른 로그 파일 유지관리 권장사항을 참조하세요.

Edge Microgateway 구성 참조

구성 파일

이 섹션에 설명된 구성 속성은 Edge Microgateway에 있습니다. 구성 파일을 참조하세요. 구성 변경에 대한 자세한 내용은 구성 변경하기를 참고하세요.

Edge_config 속성

이러한 설정은 Edge Microgateway 인스턴스와 Apigee Edge입니다.

  • 부트스트랩: (기본값: 없음) 에지를 가리키는 URL입니다. Apigee Edge에서 실행되는 Microgateway 관련 서비스입니다. Edge Microgateway는 이 서비스를 사용하여 통신할 수 있습니다 이 URL은 공개/비공개 키 쌍: edgemicro genkeys 자세한 내용은 설정 Edge Microgateway 설정 및 구성을 참조하세요.
  • jwt_public_key: (기본값: none) Edge Microgateway를 가리키는 URL입니다. 서비스를 제공합니다 이 프록시는 다음의 인증 엔드포인트 역할을 합니다. 클라이언트에게 서명된 액세스 토큰을 발급합니다 이 URL은 edgemicro configuration을 사용하여 프록시를 배포합니다. 자세한 내용은 설정 Edge Microgateway 설정 및 구성을 참조하세요.

Edgemicro 속성

이 설정은 Edge Microgateway 프로세스를 구성합니다.

  • port: (기본값: 8000) Edge Microgateway가 있는 포트 번호입니다. 프로세스가 리슨합니다.
  • max_connections: (기본값: -1) 연결의 최대 개수를 지정합니다. 동시 수신 연결을 제공합니다. 이 번호가 한도를 초과하면 다음 상태가 반환됩니다.

    res.statusCode = 429; // Too many requests
  • max_connections_hard: (기본값: -1) 요청을 전송합니다. 이 설정 서비스 거부 공격을 방지하기 위한 것입니다. 일반적으로 max_connections.
  • 로깅: <ph type="x-smartling-placeholder">
      </ph>
    • level: (기본값: error) <ph type="x-smartling-placeholder">
        </ph>
      • 정보 - Edge Microgateway 인스턴스
      • warn - 경고 메시지만 기록합니다.
      • error - 오류 메시지만 기록합니다.
    • dir: (기본값: /var/tmp) 로그 파일이 있는 디렉터리 저장됩니다.
    • stats_log_interval: (기본값: 60) 통계가 입력될 시간(초) API 로그 파일에 기록됩니다
    • rotate_interval: (기본값: 24) 로그 파일이 기록되는 간격(시간) 회전합니다.
  • dir: ./gateway 디렉터리에서 ./plugins 디렉터리 또는 절대 경로입니다.
  • sequence: Edge Microgateway에 추가할 플러그인 모듈 목록입니다. 인스턴스를 만들 수 있습니다 모듈은 여기에 지정된 순서대로 실행됩니다.
  • debug: Edge Microgateway 프로세스에 원격 디버깅을 추가합니다.
    • port: 수신 대기할 포트 번호입니다. 예를 들어 IDE 디버거를 이 포트에서 수신 대기할 수 있습니다
    • args: 디버그 프로세스의 인수입니다. 예를 들면 다음과 같습니다. args --nolazy
  • config_change_poll_interval: (기본값: 600초) Edge Microgateway 주기적으로 새 구성을 로드하고 변경사항이 있는 경우 새로고침을 실행합니다. 설문조사 Edge에서 변경된 사항 (제품 변경사항, 마이크로 게이트웨이 인식 프록시 등)을 로컬 구성 파일에 대한 변경사항도 확인할 수 있습니다
  • disable_config_poll_interval: (기본값: false) 설정 true로 변경하여 자동 변경을 사용 중지합니다. 있습니다.
  • request_timeout: 대상 요청의 제한 시간을 설정합니다. 제한 시간은 다음에서 설정됩니다. 초입니다. 시간 초과가 발생하면 Edge Microgateway는 504 상태 코드로 응답합니다. (추가됨 v2.4.x)

헤더 속성

이 설정은 특정 HTTP 헤더의 처리 방법을 구성합니다.

  • x-forwarded-for: (기본값: true) false로 설정하여 x-forwarded-for 헤더가 전달되어야 합니다. x-forwarded-for 헤더가 이 요청에 있는 경우, 그 값은 에지 분석의 client-ip 값으로 설정됩니다.
  • x-forwarded-host: (기본값: true) 대상에 전달될 x-forwarded-host 헤더입니다.
  • x-request-id: (기본값: true) false로 설정하여 x-request-id 헤더가 포함됩니다.
  • x-response-time: (기본값: true) 응답의 지연을 방지하기 위해 false로 설정합니다. 대상에 전달될 x 응답 시간 헤더입니다.
  • via: (기본값: true) false로 설정하여 헤더를 통한 헤더의 사용을 방지합니다. 타겟으로 전달됩니다

OAuth 속성

이 설정은 Edge Microgateway에서 클라이언트 인증을 적용하는 방식을 구성합니다.

  • allowNoAuthorization: (기본값: false) true로 설정하면 API 호출이 승인 헤더 없이 Edge Microgateway를 통과할 수 있음 다음으로 설정 false로 설정하여 승인 헤더가 필요하도록 합니다 (기본값).
  • allowInvalidAuthorization: (기본값: false) true로 설정하면 API 호출이 통과할 수 있습니다. 설정 false로 설정하여 유효한 토큰을 요청합니다 (기본값).
  • Approval-header: (기본값: Authorization: Bearer) Edge Microgateway로 액세스 토큰을 전송합니다. 다음과 같은 경우 기본값을 변경할 수 있습니다. 대상은 다른 용도로 승인 헤더를 사용해야 합니다.
  • api-key-header: (기본값: x-api-key) 헤더 또는 쿼리의 이름 매개변수 값으로 API 키를 제공합니다. API 키 사용하기도 참고하세요.
  • keepAuthHeader: (기본값: false) true로 설정되면 승인 헤더 대상 (보존됨)에 전달됩니다.
  • allowOAuthOnly -- true로 설정하면 모든 API에 Bearer 액세스 토큰이 포함된 승인 헤더 OAuth 보안만 허용할 수 있습니다. 이전 버전과의 호환성을 유지하면서도 이전 버전과의 호환성을 유지할 수 있습니다. (4.2.x 추가됨)
  • allowAPIKeyOnly -- true로 설정할 경우 모든 API는 API 키가 포함된 x-api-key 헤더 (또는 커스텀 위치) 이전 버전과의 호환성을 유지하면서 API 키 보안 모델만 허용할 수 있습니다. (4.2.x 추가됨)

플러그인 관련 속성

각 플러그인의 구성 가능한 속성에 대한 자세한 내용은 플러그인 사용 을 참조하세요.

프록시 필터링

Edge Microgateway 인스턴스에서 처리할 마이크로서비스 인식 프록시를 필터링할 수 있습니다. Edge Microgateway가 시작되면 관리합니다 다음 구성을 사용하여 두 개의 터널, 이렇게 4개입니다 예를 들어 이 구성은 마이크로 게이트웨이의 프록시를 제한합니다. edgemicro_proxy-1, edgemicro_proxy-2, 및 edgemicro_proxy-3:

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

분석 데이터 마스킹

다음 구성으로 인해 요청 경로 정보가 Edge에 표시되지 않습니다. 분석. 다음을 Microgateway 구성에 추가하여 요청 URI를 마스킹합니다. 요청 경로 URI는 요청의 호스트 이름과 경로 부분으로 구성됩니다.

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

Cloud Router 뒤에 Edge Microgateway를 회사 방화벽

지원되는 v4.2.x

Edge Microgateway가 방화벽 뒤에 설치되어 있는 경우 게이트웨이는 통신할 수 있습니다 이 경우 다음과 같은 두 가지 옵션을 고려할 수 있습니다.

옵션 1:

첫 번째 옵션은 Microgateway 구성 파일:

edge_config:

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

proxy_tunneltrue인 경우 Edge는 Microgateway는 HTTP CONNECT 메서드를 사용하여 다음을 통해 HTTP 요청을 터널링합니다. 단일 TCP 연결이 포함됩니다 (프록시 구성을 위한 환경 변수가 TLS가 사용 설정됨).

옵션 2:

두 번째 옵션은 Microgateway 구성 파일을 제공합니다. 예를 들면 다음과 같습니다.

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

이 경우 다음 변수를 설정하여 각 HTTP의 호스트를 제어할 수 있습니다. Edge Microgateway를 처리하면 안 되는 호스트 프록시: HTTP_PROXY, HTTPS_PROXY, 및 NO_PROXY를 사용합니다.

NO_PROXY를 쉼표로 구분된 도메인 목록으로 설정할 수 있습니다. IP 주소를 제공합니다 예를 들면 다음과 같습니다.

export NO_PROXY='localhost,localhost:8080'

HTTP_PROXYHTTPS_PROXY를 HTTP로 설정합니다. Edge Microgateway는 프록시 엔드포인트로 메시지를 보낼 수 있습니다. 예를 들면 다음과 같습니다.

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

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

이러한 변수에 대한 자세한 내용은 다음을 참조하세요.

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


참고 항목

<ph type="x-smartling-placeholder"></ph> Apigee 커뮤니티에서 회사 방화벽 뒤에서 Edge Microgateway를 설정하는 방법을 참조하세요.

Microgateway 인식에서 와일드 카드 사용 프록시

'*' 기호를 하나 이상 사용할 수 있습니다. 기본 경로에 edgemicro_* (마이크로 게이트웨이 인식) 프록시. 예를 들어 기본 경로는 의 /team/*/members는 클라이언트가 다음을 수행할 수 있도록 합니다. 다음을 포함하지 않고 https://[host]/team/blue/membershttps://[host]/team/green/members에 새로운 팀을 지원하기 위해 새로운 API 프록시를 만들어야 합니다. 참고 /**/는 지원되지 않음을 의미합니다.

중요: Apigee는 와일드 카드 '*' 사용을 지원하지 않습니다. 를 첫 번째 요소입니다. 예를 들어 다음은 지원됨: /*/ 검색.


디버깅 및 문제 해결

디버거에 연결

node-inspector와 같은 디버거를 사용하여 Edge Microgateway를 실행할 수 있습니다. 이는 문제 해결 및 맞춤 플러그인 디버깅에 대해 다루었습니다.

  1. 디버그 모드에서 Edge Microgateway를 다시 시작합니다. 이렇게 하려면 DEBUG=*를 다음 위치에 추가합니다. 시작 명령의 시작입니다. 예를 들면 다음과 같습니다.

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

    참고: Windows에서는 SET DEBUG=*를 사용합니다.

  2. 디버거를 시작하고 디버깅 프로세스를 위해 포트 번호를 수신 대기하도록 설정합니다.
  3. 이제 Edge Microgateway 코드를 단계별로 진행하고 중단점 설정, 감시 표현식 등등.

디버그 모드와 관련된 표준 Node.js 플래그를 지정할 수 있습니다. 예를 들어 --nolazy는 비동기 코드를 디버깅하는 데 도움이 됩니다.

로그 파일 확인

문제가 발생하면 로그 파일에서 실행 세부정보 및 오류를 확인하세요. 확인할 수 있습니다 자세한 내용은 로그 파일 관리를 참고하세요.

API 키 보안 사용

API 키는 Edge에 요청하는 클라이언트를 인증하는 간단한 메커니즘을 제공합니다. Microgateway를 지원합니다. 고객 키 (클라이언트 ID라고도 함) 값을 복사하여 API 키를 얻을 수 있습니다. Edge Microgateway 인증 프록시가 포함된 Apigee Edge 제품에서 액세스할 수 있습니다.

키 캐싱

API 키가 캐시되는 Bearer 토큰으로 교환됩니다. 다음과 같이 설정하여 캐싱을 사용 중지할 수 있습니다. 에지로 수신되는 요청의 Cache-Control: no-cache 헤더 Microgateway를 지원합니다.

OAuth2 토큰 보안 사용

프록시 요청에서 OAuth 토큰을 사용하는 방법에 대한 자세한 내용은 보안 Edge Microgateway를 포함합니다.

사용 API 키

프록시 요청에서 API 키를 사용하는 방법에 대한 자세한 내용은 보안 Edge Microgateway를 포함합니다.

<ph type="x-smartling-placeholder">

API 키 이름 구성

기본적으로 x-api-key은 API 키 헤더 또는 쿼리에 사용되는 이름입니다. 매개변수 값으로 사용됩니다. 구성 변경하기에 설명된 대로 구성 파일에서 이 기본값을 변경할 수 있습니다. 예를 들어 이름을 apiKey로 변경하려면 다음을 실행합니다.

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