2016-08-10 3 views
2

У меня есть план использования менеджера API WSO2 для моей компании, поэтому вы пытаетесь сделать его кластеризацией.WSO2 API Manager Кластеризация шлюза. Как настроить конечную точку шлюза в api-manager.xml

Он состоит из Keymanager, Gateway (менеджер, рабочий), Publisher, Store на 2 экземплярах AWS.

Host1 содержит Keymanager, Gateway manager, Publisher, Store. Host2 содержит работника Gateway.

То, что я сбиваю с толку, заключается в том, как настроить правильную настройку в файле /repository/conf/api-manager.xml.

Случай 1) установлен в gateway.manager.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.worker.com 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 шлюз. manager.com 200.100.100.234 gateway.worker.com


С уважением,

ответ

2

Вам не нужно APIGateway конфигурации Диспетчер шлюза, так как вы с помощью диспетчера шлюза, Key Manager, Publisher, магазин в одном узле.

Вы можете настроить вам узел диспетчера шлюза, как показано ниже

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

Вам не нужно ничего настраивать на шлюз Worker Node.

+0

Thx ваш ответ. в первый раз, когда я изменил «api-manager».xml ", я думал, что GatewayEndpoint был просто URL-адресом, как вы прокомментировали, однако тест API-консоли работал хорошо в случае Case1, не работал в случае Case2. это делает меня сумасшедшим ... – ironrainbow

1

Вам не нужно определять URL-адрес менеджера шлюза в разделе конечных точек шлюза. Раздел конечных точек шлюза будет использоваться в хранилище API для отображения URL-адресов шлюза API при нажатии на API и подробных сведений. Таким образом, вы можете использовать следующие конфигурации для всех узлов без каких-либо проблем.

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

Вы должны определить URL сервера шлюза следующим образом в издателю в основном потому, что он будет использовать этот URL, чтобы опубликовать API менеджера шлюза.

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

thx для быстрого ответа, но есть проблема. Когда я устанавливаю Case 2 для GatewayEndpoint, API-консольный тест в API Store возвращает код ошибки. (без содержимого, без ответа с сервера). Когда я устанавливаю Case1 для GatewayEndpoint, API-консольный тест в API Store работает хорошо (он возвращает код ответа 200 с правильными значениями). в случае Case1, я не уверен, работает ли рабочий узел. , так что я думал, что GatewayEndpoint является самым важным моментом во время конфигурации. – ironrainbow

+0

Перед тем, как использовать консоль API, попробуйте вставить в браузере шлюз рабочего маршрута через транспортный URL (https://gateway.worker.com:8243) и позволить браузеру обрабатывать обмен сертификатами клиентов. Или вы можете вставить URL-адрес вызова API в браузере и нажать один раз. Затем вы сможете получить доступ к API с помощью консоли API. –

+0

спасибо, я исправил эту проблему. Узлы рабочих шлюзов возвращают правильный ответ. – ironrainbow

Смежные вопросы