Я установил прокси-сервер squid для фильтрации исходящего трафика из докера.
В частности, я создал среду jupyterhub с докером, чтобы изолировать каждого пользователя и предоставить им свою виртуальную среду.
Теперь я хотел бы пойти и отфильтровать исходящий трафик, чтобы они могли получить доступ только к определенным доменам и службе, установленной локально с помощью докера jupyterhub.
Вызов прокси с помощью cURL работает нормально. Он разрешает только введенные домены и дает нам доступ к локальной службе jupyterhub. Собираюсь открыть его из веб-интерфейса, однако возникает эта ошибка:
Я включил службу ip 172.17.0.1 и порт 8081 и тест cUrl работает.
Как я могу это исправить?
некоторые конфиги:
config.json (~/.config.json):
{
"прокси":
{
"По умолчанию":
{
"httpProxy": "http://127.0.0.1:3128",
"httpsProxy": "http://127.0.0.1:3128",
"noProxy": "127.0.0.0/8"
}
}
}
squid.conf (/etc/squid/squid.conf):
acl localnet src 10.0.0.0/8 # RFC1918 возможная внутренняя сеть
acl localnet src 172.16.0.0/12 # RFC1918 возможная внутренняя сеть
acl localnet src 192.168.0.0/16 # RFC1918 возможная внутренняя сеть
acl localnet src fc00::/7 # RFC 4193 диапазон локальной частной сети
acl localnet src fe80::/10 # RFC 4291 локальные (подключенные напрямую) машины
acl локальная сеть src 172.17.0.1/32
acl SSL_ports порт 443
acl Safe_ports порт 80 # http
acl Safe_ports порт 443 # https
acl метод CONNECT CONNECT
#### 23.06.2021 #############
acl jupyterhub_port порт 8081
acl jupyterhub_addr dst 172.17.0.1
http_access разрешить jupyterhub_port jupyterhub_addr
# Запретить запросы к определенным небезопасным портам
http_access запретить !Safe_ports
# Запретить ПОДКЛЮЧЕНИЕ к портам, отличным от защищенных SSL
http_access запретить ПОДКЛЮЧЕНИЕ !SSL_ports
# Разрешить доступ к cachemgr только с локального хоста
http_access разрешить диспетчеру локального хоста
http_access менеджер запрета доступа
###### 18.06.2021
белый список acl dstdomain .python.org .pypi.org .pythonhosted.org .pypa.io .yahoo.com
http_access разрешить белый список
# И, наконец, запретить всем остальным доступ к этому прокси
http_access запретить всем
# Squid нормально слушает порт 3128
http_порт 3128
# Оставить дампы ядра в первом каталоге кеша
coredump_dir /var/spool/squid
# Добавьте любую из ваших собственных записей refresh_pattern выше этих.
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^ суслик: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
шаблон_обновления . 0 20% 4320
curl через прокси:
завиток http://172.17.0.1:8081/hub/api --proxy 127.0.0.1:3128
{"версия": "1.4.1"}