У меня уже есть обратный прокси squid, работающий на двух тестовых сайтах.
Мои два сайта www.test1.com и www.test2.com
Мой текущий рабочий файл конфигурации выглядит так
/etc/squid3/squid.conf
acl test1_acl dstdomain www.test1.com
acl test2_acl dstdomain www.test2.com
aclSSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !Safe_ports
http_access allow localhost manager
http_access deny manager
http_access allow pi1_acl
http_access allow pi2_acl
http_access allow localhost
http_access deny all
http_port 80 accel defaultsite=127.0.0.1
cache_peer 192.168.1.x parent 80 0 proxy-only name=test1
cache_peer 192.168.1.y parent 80 0 proxy-only name=test2
cache_peer_access test2 allow test2_acl
coredump_dir /var/spool/squid3
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 20% 2880
refresh_pattern . 0 20% 4320
Как я уже сказал, эта конфигурация работает, но я хотел добавить пару сайтов https. Я старался следовать примеру Вот, но он уже настроен немного иначе, чем их рекомендуемый формат конфигурации (или, по крайней мере, формат, который используется по умолчанию).
Дополнительная информация на сайте https, на который я хочу переслать:
У него уже есть файлы .key и .crt, и https отлично работает с ним.
Я скопировал файлы .key и .crt в окно squid и указал расположение этих файлов в файле конфигурации. (не уверен, что я должен оставить файлы .crt и .key на сервере, но я сделал)
Я не делал никаких других изменений на сервере ... так что, если я должен был, я нигде этого не видел.
Вот мой новый файл конфигурации.
/etc/squid3/squid.conf
#new lines
https_port 443 accel defaultsite=127.0.0.1 cert=/path/to/myCert.crt key=/path/to/myKey.key
acl newServer_acl dstdomain www.newserver.com
http_access allow newServer_acl
cache_peer 192.168.1.z parent 443 0 proxy-only name=newserver ssl sslcafile=/path/to/myCert.crt
#end new lines
acl test1_acl dstdomain www.test1.com
acl test2_acl dstdomain www.test2.com
aclSSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !Safe_ports
http_access allow localhost manager
http_access deny manager
http_access allow pi1_acl
http_access allow pi2_acl
http_access allow localhost
http_access deny all
http_port 80 accel defaultsite=127.0.0.1
cache_peer 192.168.1.x parent 80 0 proxy-only name=test1
cache_peer 192.168.1.y parent 80 0 proxy-only name=test2
cache_peer_access test2 allow test2_acl
coredump_dir /var/spool/squid3
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 20% 2880
refresh_pattern . 0 20% 4320
Это мой первый раз, когда я настраиваю обратный прокси с помощью squid или https-сайта, поэтому я уверен, что это небольшая ошибка, но я просмотрел другие файлы конфигурации и, похоже, не нашел проблемы.
Любая помощь приветствуется.
Судя по моему исследованию, это не похоже на простую проблему с файлом конфигурации. Squid должен быть скомпилирован с использованием --enable-ssl
flag, и это, кажется, довольно сложно с дистрибутивами на основе Debian. Мне кажется, что squid более идеален для дистрибутивов на основе RPM. Видеть Вот для получения дополнительной информации.
Я собираюсь отметить это как ответ на данный момент, если позже кто-то не опубликует что-то еще, что имеет больше смысла.