Как создать прокси HTTPS?

Мне нужно настроить доступ к удаленной службе API, в которой запросы занесены в белый список IP.

У меня проблема в том, что мои веб-узлы находятся в облаке и их IP-адреса часто изменение.

Поэтому я хочу передавать запросы API от моих веб-узлов через сервер с фиксированным IP-адресом.

Другое предостережение заключается в том, что эти запросы должны выполняться через HTTPS.

Так что мне нужно каким-то образом получение HTTPS-запросов в одном домене, их расшифровка и пересылка запроса в целевой домен.

Пример: Затем прокси отправляет запрос на: https://external.api.com

Возможно ли это? Я хотел бы запустить это на сервере Ubuntu 14.04 LTS.

Могу ли я использовать что-то вроде HaProxy или NGINX в качестве обратного прокси?

0
задан 9 June 2016 в 17:49
1 ответ

Вы можете использовать HAProxy, или Nginx, или ATS, или Squid, или Pound, или просто набор правил iptables.

Но вы не очень много рассказали нам о проблеме, которую вы пытаетесь решить.

Если сервису нужен назначенный IP-адрес, то предположительно он имеет некоторое значение, которое должно быть защищено - все, что вы установите, должно гарантировать, что существует эквивалентная или лучшая защита. Вероятно, самым простым решением будет использование HTTPS к прокси-узлу, аутентифицированному клиентским сертификатом - как вы это сделаете, зависит от того, как выглядит стек вашего приложения на AWS. Затем на прокси-узле заново инкапсулируйте трафик для подключения к API. Это можно сделать с помощью пары stunnel или stud экземпляров (один работает в качестве сервера с вашими AWS экземплярами, проверяет клиентский сертификат, соединяет незашифрованный поток со вторым экземпляром, разговаривающим с API)

(обратите внимание, что вам нужно разорвать SSL соединение, чтобы аутентифицировать его). Хотя существует множество дешевых хостинговых компаний, если вы хотите обеспечить высокую доступность для доступа к услуге, вам понадобятся 2 узла в разных местах и способ распределения трафика между ними. Лично я бы выбрал хапрокси или фунт , запущенный на ваших AWS экземплярах, настроенных на работу с соединением в виде простого TCP потока (т.е. игнорирование HTTP вещи).

.
1
ответ дан 4 December 2019 в 16:35

Теги

Похожие вопросы