2016-08-10 5 views
2

WS02 API 관리자를 회사에서 사용할 계획이므로 클러스터링 작업을 수행하려고합니다.WSO2 API 관리자 게이트웨이 클러스터링. api-manager.xml에서 게이트웨이 엔드 포인트를 설정하는 방법

Keymanager, 게이트웨이 (관리자, 작업자), 게시자, 2 AWS 인스턴스에 저장으로 구성됩니다.

호스트 1에는 Keymanager, 게이트웨이 관리자, 게시자, 상점이 있습니다. Host2에 게이트웨이 작업자가 있습니다.

내가 헷갈리는 점은 /repository/conf/api-manager.xml 파일에 올바른 설정을 구성하는 방법입니다.

케이스 1) GatewayEndpoint

<APIGateway> 
    . . . 
    <ServerURL>https://gateway.manager.com:9444/services/</ServerURL> 
    <Username>admin</Username> 
    <Password>admin</Password> 
    <GatewayEndpoint>http://gateway.worker.com:8280, https://gateway.worker.com:8243</GatewayEndpoint> 
. . . 
</APIGateway> 

호스트 200.100.100.123 게이트웨이에 gateway.worker.com 설정 GatewayEndpoint

<APIGateway> 
    . . . 
    <ServerURL>https://gateway.manager.com:9444/services/</ServerURL> 
    <Username>admin</Username> 
    <Password>admin</Password> 
    <GatewayEndpoint>http://gateway.manager.com:8281, https://gateway.manager.com:8244</GatewayEndpoint> 
. . . 
</APIGateway> 

케이스 2)에 gateway.manager.com 세트. manager.com 200.100.100.234 gateway.worker.com


감사합니다.

답변

2

당신은 게이트웨이 관리자에 구성을 APIGateway 할 필요가 없습니다.

당신은 당신은 게이트웨이 노동자 노드에 아무것도를 구성 할 필요가 없습니다

<APIGateway> 
    <Environments> 
     <Environment type="hybrid"> 
     ... 
      <ServerURL>https://gateway.manager.com:9443/services/</ServerURL> <!-- To deploy API to gateway Manager --> 
      <Username>admin</Username> 
      <Password>admin</Password> 
      <GatewayEndpoint>http://gateway.worker.com:8280,https://gateway.worker.com:8243</GatewayEndpoint> <!-- To show the gateway worker URLs for API in API Store --> 
     </Environment> 
    </Environments> 
    ... 
</APIGateway> 

아래로 당신에게 게이트웨이 관리자 노드를 구성 할 수 있습니다.

+0

Thx 답장을 보내주십시오. 처음으로 "api-manager"를 수정했습니다.xml ", 나는 GatewayEndpoint가 URL과 같은 것이라고 생각했지만 API Console 테스트는 Case1에서 제대로 작동했지만 Case2에서는 작동하지 않았습니다. 내게 미친 짓입니다 ... – ironrainbow

1

게이트웨이 끝점 섹션에서 게이트웨이 관리자 URL을 정의 할 필요가 없습니다. 게이트웨이 끝점 섹션은 API를 클릭하고 세부 정보를 볼 때 API 저장소에서 API 게이트웨이 URL을 나열하는 데 사용됩니다. 따라서 아무런 문제없이 모든 노드에 대해 다음 구성을 사용할 수 있습니다.

<GatewayEndpoint>http://gateway.worker.com:8280, https://gateway.worker.com:8243</GatewayEndpoint> 

게이트웨이 서버 URL을 게시자에서 다음과 같이 정의해야합니다. 주로이 URL을 사용하여 API를 게이트웨이 관리자에 게시하기 때문입니다. 당신은 하나 개의 노드에서, 스토어 게이트웨이 관리자 키 관리자, 게시자을 사용하고 있기 때문에

<ServerURL>https://gateway.manager.com:9444/services/</ServerURL> 
+0

답장을 보내 주시는 데 문제가 있습니다. GatewayEndpoint에 대해 사례 2를 설정하면 API 저장소에서 API 콘솔 테스트가 오류 코드를 반환합니다. (내용 없음, 서버로부터의 응답 없음). GatewayEndpoint에 Case1을 설정하면 API Store의 API 콘솔 테스트가 제대로 작동합니다 (올바른 값으로 응답 코드 200을 반환 함). 케이스 1의 경우 , 작업자 노드가 작동하는지 잘 모르겠습니다. 그래서 GatewayEndpoint가 configring 중에 가장 중요한 부분이라고 생각했습니다. – ironrainbow

+0

API 콘솔을 사용하기 전에 브라우저에서 게이트웨이 작업자 패스를 전송 URL (https://gateway.worker.com:8243)에 붙여 넣고 브라우저에서 클라이언트 인증서 교환을 처리하도록하십시오. 또는 API 호출 URL을 브라우저에 붙여넣고 한 번 입력 할 수도 있습니다. 그러면 API 콘솔을 사용하여 API에 액세스 할 수 있습니다. –

+0

감사합니다.이 문제가 해결되었습니다. 게이트웨이 작업자 노드가 올바른 응답을 리턴합니다. – ironrainbow

관련 문제