Назад | Перейти на главную страницу

Varnish и HTTPS с Apache без Nginx, Pound, HAProxy

Всякий раз, когда я ищу реализацию Apache, HTTPS и Varnish, я всегда нахожу руководства по завершению SSL-запросов через Ngnix, Pound, HAProxy, например, https://www.smashingmagazine.com/2015/09/https-everywhere-with-nginx-varnish-apache (через ngnix), http://blog.ajnicholls.com/varnish-apache-and-https (через фунт), и создатель Varnish рекомендует HAProxy на https://varnish-cache.org/docs/trunk/phk/ssl_again.html.

Однако сегодня я наткнулся на блог Дэвида на http://davidbu.ch/mann/blog/2015-03-20/varnish-and-https-apache.html где он описал настройку только с Apache и Varnish, и, не проводя тестов, я просто хотел услышать мнение серверных гуру о:

Для этой цели можно использовать практически все, что выполняет завершение HTTP-запросов. Даже Apache. Bust в основном люди используют nginx для завершения SSL (или фунта, или заминки), потому что он более легкий.

Просто потому, что у вас меньше программного обеспечения, то есть Apache (SSL) -> Varnish -> Apache. Это не значит, что поток запросов будет быстрее. Он по-прежнему должен пройти через 3 уровня и путешествовать как HTTP-пакет. Так что нет ускорения от использования Меньше программное обеспечение.

Использование Apache в качестве терминатора SSL не делает бессмысленным обслуживание статического контента быстрее. Вы можете настроить его таким образом, чтобы уровень Apache SSL обслуживал статические файлы напрямую, а прокси-сервер перенаправлял Varnish для динамического содержимого.

Но в целом nginx лучше подходит для обслуживания статических файлов.

Я рекомендую вам решение

Вы должны дать varnish слушать порт 80, apache https-порт 403, HTTP-порт 8080.

Вы установите сервисный балансировщик нагрузки HAProxy, который будет прослушивать все запросы от клиента. Haproxy должен перенаправить его на порт 80. varnish может кэшировать или передавать серверную часть, если требуется динамический контент.