У меня есть следующий конфигурационный файл. Удалены комментарии и пустые строки. Линии начинаются #>
это те, которые я удалил, чтобы заставить нормальный http работать. Но он все еще заблокирован.
acl localnet src 172.16.0.0/12 #docker
acl SSL_ports port 443
acl Safe_ports port 80 # http
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 CONNECT method CONNECT
#>http_access deny !Safe_ports
#>http_access deny CONNECT !SSL_ports
http_access allow localhost manager
#>http_access deny manager
http_access allow localnet
http_access allow localhost
#>http_access deny all
http_port 3128
cache_dir aufs /media/richard/extra2/squid-cache 20000 16 256
coredump_dir /var/spool/squid
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
https работает, если я подключаюсь к 127.0.0.1
; https работает даже при отключении.
https не работает при подключении к 172.16.0.1, той же машине на интерфейсе докера.
Как заставить кальмара использовать прокси-сервер http
?
я добавил debug_options ALL,1 33,2
в верхнюю часть файла конфигурации, затем нашел это в журналах:
local=172.17.0.1:3128 remote=192.168.43.64
Похоже, он определяет удаленный как мой IP-адрес на внешнем интерфейсе. Затем я добавил
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
в конфиг, и он работает. Обратите внимание, что это проблема безопасности, так как теперь мы разрешаем подключения из этой сети.
Я понятия не имею, почему удаленный IP-адрес не из той же сети. Я не имею понятия почему https
работал. Я буду использовать свой локальный брандмауэр, но мне все равно нужно исправить (на случай, если брандмауэр неправильно настроен).