Рейтинг:0

Облегченный обратный HTTPS-прокси

флаг br

У меня есть потребность, похожая на этот участник: один общедоступный IP-адрес, несколько внутренних серверов HTTPS, сертификаты должны оставаться на внутренних серверах. В ответах на сообщение перечислены возможные решения NGINX, haproxy и sniproxy.

Мой общедоступный IP-адрес находится на сервере Debian с очень ограниченными ресурсами (1 виртуальный ЦП, 512 МБ ОЗУ), так что это проблема. Какое из перечисленных решений требует наименьших ресурсов? Или есть другие альтернативы? ТИА!

anx avatar
флаг fr
anx
**Протестируйте**, поскольку использование ресурсов может различаться в зависимости от количества данных, передаваемых за соединение, и от количества переадресованных подключений.
OttoEisen avatar
флаг br
Ну, это именно то, чего я пытаюсь избежать. Да, я могу запускать виртуальные машины с контрольными точками, и «всего» потребуется пара часов, чтобы понять это. Но я подумал сначала спросить. Также: нагрузки на общедоступный сервер могут быть совершенно непредсказуемыми, с атаками методом грубой силы, распылением паролей и прочим...
Michael Hampton avatar
флаг cz
Эх, вы можете втиснуть туда любой из них, если ваш уровень трафика не особенно высок. Но опять же, вы должны проверить, хотите ли вы знать, как они будут работать на самом деле.
Рейтинг:0
флаг br

@тревога сказал «Проверь» (тем не менее жирным шрифтом), и я так и сделал.
Ну, не совсем, так как у меня нет на это времени. Поскольку я подозревал, что другое решение может отличаться на несколько порядков, я избавил себя от необходимости: фактически настраивать вещи и настраивать другую систему для запуска нагрузочного теста. Тем более, что характеристики моего обратного прокси намекают на то, что бэкенд-серверы не очень загружены.
Вместо этого я установил пакеты (просто меткая установка <приложение>) и сделал бесплатно -m && service <APP> start && free -m && service <APP> stop && free -m. Ожидание нескольких секунд между шагами. Я также использовал Debian 11, который на момент написания статьи все еще оставался тестирование ветвь.
Очень элементарно, я знаю, но это послужило моей цели. Это результат, отформатированный как: Приложение (используемое место на диске, дополнительные пакеты, установленные apt, используемая память)

sniproxy (298 кБ, 2, 1-2 МБ)
apache2 (8 634 КБ, 6, 3-4 МБ)
nginx (20 500 КБ, 20, 4-6 МБ)
haproxy (4315 кБ, 1, 34-35 МБ)

Я включил apache, так как я предполагать что он также включает в себя аналогичную функциональность, хотя об этом не упоминалось в связанном сообщении. Имейте в виду, это не научно обосновано, учитывая, что я только что использовал бесплатно и использование памяти операционной системой, конечно, может внести свой вклад в изменения.
Итак, в традициях UNIX используйте инструмент, который выполняет только одну работу (и, надеюсь, делает это хорошо). Поэтому, если вам просто нужен легкий прокси-сервер 4-го уровня с поддержкой SNI, используйте снипрокси. В связанном сообщении также упоминается, что его легко настроить.

anx avatar
флаг fr
anx
Конечно, эти разные программные пакеты используют разный объем памяти во время простоя, но, вероятно, интересная часть заключается в том, сколько памяти они используют во время почти пиковой нагрузки. Вы можете обнаружить, что одно программное обеспечение на первый взгляд выглядит тяжелее, потому что оно инициализировало некоторую структуру памяти слишком большой для того, чтобы ничего не делать, что окупается эффективностью всего после нескольких сотен подключений. (Пока вы не заботитесь об этом, придерживайтесь решения, которое казалось самым простым в настройке для выполнения работы *, является лучшим решением для вас *, независимо от того, имеет ли оно на 20 МБ больше памяти или нет)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.