На машине Debian запущены Squid и Apache. HTTPs включен с помощью Certbot (позволяет шифровать).
У меня несколько доменов (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?
Squid запрашивает сертификаты для включения HTTPS
В этом вся идея HTTPS. Ты будешь определенно нужны сертификаты для обслуживания защищенного сертификатом контента. В противном случае у вас не будет http-прокси, и вместо этого вы будете использовать NAT или TCP-прокси (например, nginx с поставщиками UPSTREAM).
Но для каждого домена я использую разные сертификаты.
Это идея SSL (TLS) и причина, по которой вы можете (читайте: вы должны) настраивать разные слушатели с разными свойствами. Или вы используете только пересылку TCP без терминатора (читай: разгрузки) SSL.
В squid3
vhost vonfiguration делается так:
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: Вы не можете. Попробуйте nginx с восходящим потоком или сделайте только NAT на своем маршрутизаторе (ах).