Каковы Различия между HAProxy и Ngnix в обратном режиме прокси?

Стоит отметить, что порты не должны быть полностью открыты или закрыты. Брандмауэр мог бы позволить стандартные связанные с DNS порты через только к локальным серверам DNS, например, или прозрачный прокси может получить соединения и только передать на конечном месте назначения, если протокол является правильным (это могло бы, например, остановить Вас порт использования 80 для выхода соединений P2P, не блокируя нормальный Трафик HTTP - хотя он не будет на его собственной остановке Вы пытающийся использовать HTTP-> прокси P2P).

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

Повсеместный, поскольку HTTP, не совсем невозможно, что Вы найдете среды, где HTTP (S) не разрешен, но другие протоколы.

23
задан 3 February 2011 в 17:23
4 ответа

Обновление 2019 г .:

Это и стабильные, и зрелые продукты. HAProxy предназначен для балансировки нагрузки и лучше в этом, тогда как nginx - это веб-сервер, который может действовать как балансировщик нагрузки.

Оба:

  • Поддержка HTTPS
  • Поддержка веб-сокетов
  • Стабильные, зрелые и очень эффективные продукты
  • Может обрабатывать 10 тыс. Соединений с минимальной настройкой или без нее

HAProxy:

  • Балансировка нагрузки TCP, TCP-SSL, HTTP и HTTPS
  • Большая гибкость при проверках работоспособности и условиях аварийного переключения
  • Базовое кэширование (v1. 8 - 2017)
  • Настраиваемый формат журнала для импорта журналов доступа в kibana / splunk / graylog
  • Подробная страница состояния для просмотра активных запросов и состояния серверов
  • Экспортируемые метрики для интеграции с решениями для мониторинга (graphite / prometheus / datadog)
  • Более высокопроизводительный. Лучше подходит для обработки 100 тыс. Соединений или интерфейсов 40 GbE.

Nginx:

  • Балансировка нагрузки HTTP и HTTPS (TCP - UDP в платной версии)
  • Большая гибкость кеширования
  • Настраиваемый формат журнала для импорта журналов доступа в kibana / splunk / graylog
  • Нет страницы состояния (только платная версия)
  • Нет экспортируемых показателей (только платная версия)
  • Может обслуживать локальные файлы
  • Может обслуживать приложения FastCGI (не CGI)

HAProxy это бесплатное программное обеспечение с полностью открытым исходным кодом. Они зарабатывают деньги, продавая аппаратное обеспечение с предустановленным HAProxy.

Nginx - это открытое ядро, и многие функции доступны только в платной версии. Примечательно, что ему не хватает страницы состояния и показателей мониторинга , что является большим НЕТ-НЕТ для работы с балансировщиком нагрузки.

5
ответ дан 28 November 2019 в 20:19

Я использую nginx для frontend HAProxy, но только для завершения SSL.

HAProxy является намного большим количеством настраиваемой и управляемой подсистемы балансировки нагрузки (по моему опыту).

Я также включаю Лак для кэширования статического объекта. (как определенный бэкенд HAProxy)

Посмотрите этот вопрос об Отказе сервера для большего количества информации. Упорядочивание nginx/varnish/haproxy

11
ответ дан 28 November 2019 в 20:19

HAProxy является действительно просто подсистемой балансировки нагрузки / обратный прокси. Nginx является веб-сервером, который может также функционировать как обратный прокси.

Вот некоторые различия:

HAProxy:

  • Делает TCP, а также проксирование HTTP (SSL, добавленный от 1.5-dev12)
  • Больше ограничивающих опций уровня
  • Автор отвечает на вопросы здесь на Отказе сервера ;-)

Nginx:

  • Поддержки SSL непосредственно
  • Также кэширующийся сервер

При Переполнении стека мы главным образом используем HAProxy с nginx для SSL, разгружающегося, таким образом, HAProxy является моей рекомендацией.

42
ответ дан 28 November 2019 в 20:19

Если требуется только для балансировки нагрузки, лучше использовать прокси HA. Но объединение прокси nginix и HA может быть более полезным, поскольку nginix быстро предоставляет статический контент, он будет обслуживать все запросы статических данных, а затем отправлять все запросы на прокси HA, которые служат в качестве балансировщика нагрузки, и отправляют запрос на веб-сервер для обслуживания. запрос балансировки нагрузки.

5
ответ дан 28 November 2019 в 20:19

Теги

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