Squid как резервный прокси-сервер для HTTPS

Squid как резервный прокси-сервер для HTTPS

На машине Debian запущены Squid и Apache. HTTPS включен с помощью Certbot (Lets Encrypt).

У меня несколько доменов (Vhosts) и я использую один IP-адрес для всех доменов.

Apache прослушивает порты 81 (HTTP) и 444 (HTTPS)

Мой squid.conf выглядит так:

# Incoming Connections
http_port 80 accel
cache_peer localhost parent 81 0 no-query originserver
https_port 443 acceldefaultsite=yourwebserver vhost
cache_peer localhost parent 444 0 no-query originserver

# ACL
http_access allow all

# Allowed Ports
acl SSL_ports port 443          # https
acl Safe_ports port 80          # http
acl CONNECT method CONNECT

Моя проблема: Squid запрашивает сертификаты для включения HTTPS, когда я запускаю службу с приведенной выше конфигурацией.

Но для каждого домена я использую разные сертификаты. Как заставить Squid просто перенаправить 443 на 444 localhost?

решение1

Squid запрашивает сертификаты для включения HTTPS

Вот в чем вся идея HTTPS. Вы будетеопределеннонужны сертификаты для обслуживания защищенного сертификатом контента. В противном случае у вас не было бы http-прокси и вместо этого использовался бы NAT или TCP-прокси (например, nginx с провайдерами UPSTREAM).

Но для каждого домена я использую разные сертификаты.

Это идея SSL (TLS) и причина, по которой вы можете (читай: должны) настраивать разные прослушиватели с разными свойствами. Или вы используете только пересылку TCP без терминации (читай: разгрузки) SSL.

В squid3vhost настройка делается так:

https_port serverone.com:443 cert=/etc/ssl/serverone.pem vhost
https_port servertwo.com:443 cert=/etc/ssl/servertwo.pem vhost

cache_peer lanserverone parent 80 0 name=lanserverone no-query originserver
cache_peer_domain lanserverone serverone.com

cache_peer lanservertwo parent 80 0 name=lanservertwono-query originserver
cache_peer_domain lanservertwo servertwo.com

Как заставить Squid просто перенаправить 443 на 444 localhost?

Shart anwer: Вы не можете. Попробуйте nginx с upstream или просто сделайте NAT в вашем маршрутизаторе(ах).

Связанный контент