<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:
edgemicro init
에 전화하기edgemicro configure [params]
에 전화하기edgemicro start [params]
에 전화하기
새로 초기화된 Edge Microgateway 인스턴스의 기본 구성 파일
edgemicro init
를 실행하면 시스템 구성 파일
(위에서 설명) default.yaml
이(가) 다음 디렉터리에 저장됩니다.
~/.edgemicro
~/.edgemicro
에서 구성 파일을 변경하면 재구성 후 다시 시작해야 합니다.
Edge Microgateway:
edgemicro stop
edgemicro configure
[params]
edgemicro start
[params]
동적 실행 중인 인스턴스를 위한 구성 파일
edgemicro configure [params]
를 실행하면 동적
구성 파일이 약 /.edgemicro
에 생성됩니다. 파일 이름은
패턴: [org]-[env]-config.yaml
,
여기서 org
및 env
는 Apigee Edge 조직입니다.
생성할 수 있습니다 이 파일을 사용하여 구성을 변경한 다음 다시 로드할 수 있습니다.
제공합니다 예를 들어 플러그인을 추가하고 구성하는 경우
다운타임 없이 구성을 업데이트할 수 있습니다
Edge Microgateway가 실행 중인 경우 (다운타임 없음 옵션):
- 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가 중지된 경우:
- 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을 구성하려면 다음 단계를 따르세요.
- openssl 유틸리티 또는 원하는 방법을 사용하여 SSL 인증서와 키를 생성하거나 가져옵니다.
- 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
- 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를 사용해 신원을 확인하는 서비스를 예로 들 수 있습니다.
관리 로그 파일
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) 로그 파일이 기록되는 간격(시간) 회전합니다.
-
level: (기본값: error)
<ph type="x-smartling-placeholder">
- plugins: 플러그인은 Edge Microgateway에 기능을 추가합니다. 자세히 알아보기 자세히 알아보려면 맞춤형 애플리케이션 개발 플러그인을 사용합니다.
- 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_tunnel이 true인 경우 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_PROXY 및 HTTPS_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/members 및 https://[host]/team/green/members에
새로운 팀을 지원하기 위해 새로운 API 프록시를 만들어야 합니다. 참고
/**/
는 지원되지 않음을 의미합니다.
중요: Apigee는 와일드 카드 '*' 사용을 지원하지 않습니다. 를
첫 번째 요소입니다. 예를 들어 다음은
지원됨: /*/
검색.
디버깅 및 문제 해결
디버거에 연결
node-inspector와 같은 디버거를 사용하여 Edge Microgateway를 실행할 수 있습니다. 이는 문제 해결 및 맞춤 플러그인 디버깅에 대해 다루었습니다.
- 디버그 모드에서 Edge Microgateway를 다시 시작합니다. 이렇게 하려면
DEBUG=*
를 다음 위치에 추가합니다. 시작 명령의 시작입니다. 예를 들면 다음과 같습니다.
DEBUG=* edgemicro start -o myorg -e test -k db4e9e8a95aa7fabfdeacbb1169d0a8cbe42bec19c6b98129e02 -s 6e56af7c1b26dfe93dae78a735c8afc9796b077d105ae5618ce7ed
참고: Windows에서는
SET DEBUG=*
를 사용합니다. - 디버거를 시작하고 디버깅 프로세스를 위해 포트 번호를 수신 대기하도록 설정합니다.
- 이제 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