В моем текущем стеке есть Varnish -> NGINX (2 сервера) под управлением Drupal -> MySql.
Весь статический контент кэшируется и обслуживается Varnish по HTTP. Однако, когда пользователь регистрируется и хочет приобрести план, соединение с платежным шлюзом осуществляется через HTTPS. В настоящее время сертификат реализован на одном из серверов NGINX. Запись домена указывает на этот сервер NGINX.
Я собираюсь указать A-запись домена на сервер Varnish, чтобы я мог воспользоваться кешированием Varnish вместо загрузки сервера NGINX. Любой посетитель, который намеревается совершить покупку, будет переведен на NGINX. У меня есть два сомнения
РЕДАКТИРОВАТЬ: я намерен, чтобы Varnish прослушивал порт 443 и передавал все запросы HTTPS на сервер NGINX
Varnish
не поддерживает SSL-обертку (https
) трафик, следовательно, вы должен использовать терминатор SSL перед ним.
Для этого можно использовать несколько различных приложений. Все они завершают SSL и пересылают http
трафик на ваш сервер (Varnish
):
wrapper
) лайк шпилька или станнельПредпочтительно приложение, специально разработанное для завершения запросов SSL и / или прокси.
В качестве веб-сервера nginx подошло бы лучше, чем Apache так как обычно считается более быстрым для статического контента или прокси.
nginx также упрощает компиляцию конкретной сборки с минимальными накладными расходами, которая содержит только все необходимые модули (http_core
, http_proxy
и http_ssl
модули).
Когда весь SSL прерывается на терминаторе, ваш бэкэнд nginx экземплярам вообще ничего не нужно знать о SSL (кроме возврата правильного имени хоста и схемы во всех ссылках).
Следовательно, он не требует сертификата и закрытого ключа.