LINUX.ORG.RU
ФорумAdmin

Squid долго загружает страницы https

 ,


0

1

На виртуалке стоит Ubuntu 16.04 со squid. Сквид настроен с фильтрацией https, прозрачный. Если заходить с клиента только через нат все сайты открываются нормально. Со сквидом http -нормально, а вот https сначала повисит пару минут, и потом заходит. В браузере пишет «выполняется TLS рукопожатие с *». В логах сквида пишется что все подключается нормально. конфиг сквида:

#####################################
# Обслуживаемые прокси-сервером сети #
######################################
acl localnet src 192.168.12.0/24
#################################################
# Правила какие порты разрешены прокси-сервером #
#################################################
# Порт SSL для подключений по HTTPS-протоколу
acl SSL_ports port 443
acl SSL_ports port 9443
acl SSL_ports port 53 # sbis
acl SSL_ports port 3478 # sbis

# Список портов, к которым разрешен доступ через прокси-сервер по протоколу HTTP
acl Safe_ports port 80 # http
acl Safe_ports port 110 # sbis
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 53 # sbis
acl Safe_ports port 3478 # sbis 
acl Safe_ports port 25 # http


acl CONNECT method CONNECT

#настройки для sqstat
acl manager proto cache_object
acl managerAdmin src 192.168.12.111/32


################################################################
# Пути к файлам запрещающих, разрешающих определенные действия #
################################################################
# Путь к списку IP-адресов пользователей, для которых не действуют запреты
acl AdminsIP src "/etc/squid/AdminsIP.txt"
# Путь к черному списку сайтов
acl BlackList dstdomain "/etc/squid/BlackList.txt"
# Путь к списку адресов которым запрещен интернет
acl BlockInetExlWhite src "/etc/squid/BlockInetExlWhite.txt"
# Путь к белому списку сайтов
acl WhiteList dstdomain "/etc/squid/WhiteList.txt"
#########################
# Параметры DNS записей #
#########################
# Список DNS серверов(IP адреса), которые будут использоваться вместо тех, что определены в /etc/resolv.conf файле
dns_nameservers 8.8.4.4
dns_nameservers 8.8.8.8
########################################
# Правила ограничений доступа клиентов #
########################################
# Запретить доступ к портам, отсутствующим в списке выше
http_access deny !Safe_ports
# Запретить метод CONNECT не на SSL-порт
http_access deny CONNECT !SSL_ports
# Разрешить только локальное управление кэшем
http_access allow localhost
http_access allow manager 
#Удаленное управление кешем
http_access allow manager managerAdmin
http_access deny manager
# Не ограничивать локальный доступ с сервера
http_access allow localhost
# Не ограничивать доступ администраторам
http_access allow AdminsIP
# Блокировать интернет конкретным пользователям
http_access deny BlockInetExlWhite !WhiteList
# Блокировать запрещенные сайты
http_access deny BlackList
# Правила разрешающего доступ в интернет из локальной сети указанной в localnet
http_access allow localnet
# Блокирует все, что не было разрешено выше
http_access deny all
#############################################
# Правила подключений клиентов к прокси-серверу#
#############################################
# Подключения через прозрачный порт
http_port 192.168.12.111:3128 intercept options=NO_SSLv3:NO_SSLv2
# Подключение через указания прокси-сервера на стороне клиента
http_port 192.168.12.111:3130 options=NO_SSLv3:NO_SSLv2
# Подключение по HTTPS через прозрачный порт с параметрами подставки сертификата
https_port 192.168.12.111:3129 intercept ssl-bump options=ALL:NO_SSLv3:NO_SSLv2 connection-auth=off cert=/etc/squid/squidCA.pem
# Принимаем сертификаты, даже если они не прошли проверку.
always_direct allow all
sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER
# Укажем список блокируемых ресурсов (в файле домены вида .domain.com) и правила блокировки их
acl blocked ssl::server_name "/etc/squid/BlackList.txt"
# Устанавливаем защищенное соединение и считываем заголовок HTTP
acl step1 at_step SslBump1
ssl_bump peek step1
# Закрываем соединение, если клиент заходит на ресурс указанные в blocked
ssl_bump terminate blocked
ssl_bump splice all
sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB
#########################################
# Дополнительные параметры конфигурации #
#########################################
# Путь для дискового кеширования
cache_dir aufs /var/spool/squid 20000 49 256
# Путь сохранения дампов аварийного завершения
coredump_dir /var/spool/squid
# Время жизни объектов для протоколов FTP и GOPHER
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
# Нулевое время жизни для динамического контента
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
# Время жизни по умолчанию
refresh_pattern . 0 20% 4320
maximum_object_size 61440 KB
minimum_object_size 3 KB
cache_swap_low 90
cache_swap_high 95
# Максимальный размер объекта, сохраняемого в оперативной памяти
maximum_object_size_in_memory 512 KB
memory_replacement_policy lru
# Количество ротаций лог-файлов (0 - отключена ротация, 15 - максимальное количество)
logfile_rotate 0
# E-mail адрес Cache менеджера, для отправки уведомлений и отображении в страницах ошибок
#cache_mgr it@admin.ru

cachemgr_passwd gfh0km all


что пишет в лог 
1507098307.398 601090 192.168.12.41 TAG_NONE/200 0 CONNECT 217.69.139.215:443 - HIER_NONE/- -
1507098307.398 601086 192.168.12.41 TCP_TUNNEL/200 345738 CONNECT e.mail.ru:443 - ORIGINAL_DST/217.69.139.215 -

Наиболее вероятно, что каждый раз приходится генерировать сертификат, потому что ssl_crtd не может писать в /var/lib/ssl_db.
Задержка при первом посещении нормальна, хотя и не на минуты. vps'ка дохлая, если ей так много времени нужно на это.

aidaho ★★★★★ ()
Ответ на: комментарий от aidaho

Без относительно темы ещё порекомендую:

# Allow self-signed certs, mismatched domain names (kind of common), expired certificates (duh)
acl SSLERR ssl_error X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN SQUID_X509_V_ERR_DOMAIN_MISMATCH X509_V_ERR_CERT_HAS_EXPIRED
sslproxy_cert_error allow SSLERR
# Deny any other SSL error conditions
sslproxy_cert_error deny all

А то встречается сплошь и рядом.

aidaho ★★★★★ ()

У меня точно такая же проблема. Что я только уже не делал. Причём это единственный вопрос по этому поводу, что у всех всё хорошо работает через «прозрачный» прокси? Большенство сайтов открывается хорошо, но такие как twitter или online.sberbank.ru очень долго висят в ожидании. Так же в лога всё прекрасно. Если использовать аутентификацию basic ncsa с указанием IP и порта в браузере всё отлично, «прозрачный» же отказывается работать должным образом. Кто-нибудь знает решение проблемы.

SergeyD ()
Ответ на: комментарий от SergeyD

Debian 9, squid 3.5.23 (так же пробовал 3.5.27, так же 3.5.8 с патчем и libressl, а так же 4.0.27). Пробовал DNS и пробрасывать, так же и через bind9... всё что можно уже пробовал и различные вариации с конфигом squid, в инете из кучи, но по сути все однотипные... даже уже и не знаю куда копать, но затык явно в ssl bump

SergeyD ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.