Маршрутизация уникальных URL-адресов через KONG

Прямо сейчас у меня есть следующая реализация, работающая с kong. Над чем сейчас работаю:

Над чем я работаю сейчас

Я могу свернуться через хост, на котором находится kong, и перенаправить запрос api на соответствующий хост api в зависимости от того, что содержит заголовок хоста. Результаты вернулись и мне.

Вместо этого я хочу иметь возможность использовать curl с использованием адреса хоста api и передать его через kong. Как я могу подойти к этому? Я не очень знаком с фреймворками или шаблонами api и был бы признателен за некоторые направления.

Что бы я хотел: Что бы я хотел сделать


person J Schmidt    schedule 10.11.2017    source источник


Ответы (2)


Но поступая так, вы потеряете все преимущества конга. По моему мнению, мы добавляем конг, чтобы иметь контролируемый доступ к API. Если вы вызовете API напрямую, там, где они размещены, kong не сможет предоставить преимущества.

Для вашей проблемы, когда вы не хотите передавать хост в заголовке, вы можете добавить хост в конг, когда вы добавляете API в конг. При этом всякий раз, когда поступает запрос на api_x_command, он переходит на определенный хост в среде kong.

Итак, ваши URL-адреса будут такими

https://kongurl/api_1_command - will go to https://api_1_host/api_1_command and https://kongurl/api_2_command - will go to https://api_2_host/api_2_command

Проверьте URL-адрес, он всегда будет указывать на Kong, и решающим фактором будет команда, при этом настройка хоста выполняется в Kong.

person Shaleen    schedule 13.11.2017
comment
как этого добиться? могли бы вы прочитать этот вопрос: stackoverflow.com/q/61687855/801448 - person Supun Praneeth; 09.05.2020

На ваш вопрос. Хорошо идти через конг (а не напрямую на IP-адрес вашей службы). Так что вы можете предоставить внешнему миру только ipAddress kong, а также получить все преимущества, которые предоставляет kong. Если вы так беспокоитесь о безопасности, добавьте прокси позади конга, чтобы даже конг не был виден.

Клиент ‹--> Прокси ‹--> Kong ‹--> Service1..N

Я новичок в Конге. Так что, ребята, дайте мне знать, если я ответил неправильно. Пожалуйста, поправьте меня.

Кстати, еще один момент: для каждого запроса, если вы не хотите устанавливать заголовок «Host», лучший способ добиться этого - не устанавливать «hosts» при настройке маршрута. Таким образом, для каждого запроса клиенту не нужно устанавливать заголовок «Host». Это будет полезно в некоторых случаях.

https://discuss.konghq.com/t/setup-for-one-service-without-host-header/805

person SANDEEP MACHIRAJU    schedule 17.04.2019