![Обратный прокси-сервер Squid с SSL](https://rvso.com/image/782609/%D0%9E%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D1%8B%D0%B9%20%D0%BF%D1%80%D0%BE%D0%BA%D1%81%D0%B8-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20Squid%20%D1%81%20SSL.png)
Я пытаюсь использовать Squid в качестве обратного прокси-сервера перед одним веб-сайтом, чтобы расшифровать SSL на прокси-сервере, а затем зашифровать соединение с веб-сервером (это необходимо для использования Squid в качестве ICAP-клиента для продукта CDR с нулевым доверием).
Я вижу, что для этого требуются две строки конфигурации:
https_port 1.2.3.4:443 accel
для прослушивателя и
cache_peer 1.2.4.8 parent 443
для веб-сервера.
Следуя примерам, которые я нашел здесь и в других местах, я столкнулся с различными ошибками Squid, в частности с этой:
FATAL: No valid signing certificate configured for HTTPS_port
Заведомо рабочая конфигурация для Squid 4.x была бы очень полезна!
решение1
Очевидно, все найденные мной примеры относились к более ранним версиям Squid.
В этой проблеме мой главный вывод заключался в том, что cert=
и key=
в https_port
строке конфигурации больше не верны, и вместо них нужно использовать tls-cert=
и tls-key=
.
Итак (для Squid v4.15) мне нужен только сертификат веб-сервера и его закрытый ключ, а также эти строки в squid.conf:
https_port 1.2.3.4:443 accel defaultsite=mysite.com tls-cert=/etc/squid/myserver.pem
cache_peer 1.2.4.8 parent 443 0 no-query originserver login=PASS ssl
Это работает для .PEM, который включает сертификат и незашифрованный закрытый ключ. Если ключ находится в отдельном файле, это должно работать:
https_port 1.2.3.4:443 accel defaultsite=mysite.com tls-cert=/etc/squid/myserver.pem tls-key=/etc/squid/myserver.key
cache_peer 1.2.4.8 parent 443 0 no-query originserver login=PASS ssl
Если этот ключ зашифрован, вам придется либо запустить Squid вручную (например, запустить squid -N
в screen
сеансе), либо добавить sslpassword_program
строку конфигурации для указания парольной фразы PEM.
Примечание: Я обнаружил, что строка конфигурации http_port (например http_port 3128
) по-прежнему необходима для запуска Squid.
Все директивы файла конфигурации задокументированы здесь:http://www.squid-cache.org/Doc/config/