Я следил https://aws.amazon.com/blogs/security/how-to-add-dns-filtering-to-your-nat-instance-with-squid/ для настройки серверов NAT Squid на AWS и разрешения нескольких доменов в белом списке.
Кажется, что все работает, но один или два раза в месяц в случайное время один из доменов из белого списка начинает блокироваться squid, и squid генерирует следующий журнал,
1563718821.573 7 10.0.0.28 TAG_NONE/200 0 CONNECT 172.217.7.227:443 example.com HIER_NONE/- -
и мне нужно перезапустить службу squid, чтобы она снова начала нормально работать.
Следующие записи журнала генерируются, когда запрос успешный для этого домена из белого списка в 90% или более случаев,
1596154350.232 240811 10.0.0.28 TCP_TUNNEL/200 1251 CONNECT 172.217.7.227:443 example.com ORIGINAL_DST/172.217.7.227 -
Я использую конфигурацию, предоставленную AWS,
visible_hostname squid
cache deny all
# Log format and rotation
logformat squid %ts.%03tu %6tr %>a %Ss/%03>Hs %<st %rm %ru %ssl::>sni %Sh/%<a %mt
logfile_rotate 10
debug_options rotate=10
# Handling HTTP requests
http_port 3128
http_port 3129 intercept
acl allowed_http_sites dstdomain "/etc/squid/whitelist.txt"
http_access allow allowed_http_sites
# Handling HTTPS requests
https_port 3130 cert=/etc/squid/ssl/squid.pem ssl-bump intercept
acl SSL_port port 443
http_access allow SSL_port
acl allowed_https_sites ssl::server_name "/etc/squid/whitelist.txt"
acl step1 at_step SslBump1
acl step2 at_step SslBump2
acl step3 at_step SslBump3
ssl_bump peek step1 all
ssl_bump peek step2 allowed_https_sites
ssl_bump splice step3 allowed_https_sites
ssl_bump terminate step2 all
http_access deny all
Рассматриваемый домен использует SSL для установления соединения.
Проблема: Проблема в том, что это случается только время от времени и снова начинает нормально работать при перезапуске службы squid. Поскольку это непоследовательно, я также не могу воспроизвести проблему, чтобы устранить ее.
Из исследований, проведенных до сих пор, я пришел к выводу, что он должен что-то делать с squid, пытаясь понять протокол TLS, чтобы получить информацию о сертификате, но некоторые теги в сертификате не понимаются должным образом. Итак, Squid по-прежнему принимает / пересылает соединение без декодирования TLS.
Но я не понимаю, почему это происходит только с перерывами. 90% времени один и тот же домен работает нормально.