У меня уже есть обратный прокси-сервер 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
, и это кажется довольно трудным с дистрибутивами на основе Debian. Мне кажется, что squid более идеален для дистрибутивов на основе RPM. См. здесь для получения дополнительной информации.
Я собираюсь отметить это как ответ на данный момент, если только кто-то не опубликует что-то другое, имеющее больше смысла позже.