Невозможно использовать докер из-за проблем с ZScaler и сертификатами
У меня VMware Photon OS работает в VMware Player. Это будет использоваться в качестве основной ОС для запуска контейнеров Docker.
Однако, поскольку я работаю в ZScaler, у меня возникают проблемы с запуском команд, обращающихся к внешним ресурсам. Например docker pull python
дает мне следующий вывод (я добавил несколько разрывов строк, чтобы сделать его более читабельным):
error pulling image configuration:
Get https://dseasb33srnrn.cloudfront.net/registry-v2/docker/registry/v2/blobs/sha256/a0/a0d32d529a0a6728f808050fd2baf9c12e24c852e5b0967ad245c006c3eea2ed/data
?Expires=1493287220
&Signature=gQ60zfNavWYavBzKK12qbqwfOH2ReXMVbWlS39oKNg0xQi-DZM68zPi22xfDl-8W56tQmz5WL5j8L39tjWkLJRNmKHwvwjsxaSNOkPMYQmhppIRD0OuVwfwHr-
1jvnk6mDZM7fCrChLCrF8Ds-2j-dq1XqhiNe5Sn8DYjFTpVWM_
&Key-Pair-Id=APKAJECH5M7VWIS5YZ6Q:
x509: certificate signed by unknown authority
У меня есть попытки извлечь корневые сертификаты CA (в PEM
формат) для ZScaler с моей рабочей станции Windows, и добавили их в /etc/pki/tls/certs/ca-bundle.crt
, Но даже после перезапуска Docker это не решило проблему.
Я прочитал множество постов, большинство из которых ссылаются на команду update-ca-trust
который не существует в моей системе (хотя ca-certificates
пакет установлен).
Я понятия не имею, как идти вперед. AFAIK, есть два варианта. Или:
- Добавьте сертификаты ZScaler, чтобы SSL-соединения были доверенными.
- Разрешите небезопасные соединения с концентратором Docker (но даже тогда он, вероятно, все равно будет жаловаться, поскольку сертификат не является доверенным).
Последний работает, кстати, например, выполнение curl
с -k
опция позволяет мне получить доступ к любому ресурсу https.
1 ответ
Проблема в том, что zscaler действует как человек-посредник, выполняя проверку ssl в вашей организации (см. https://support.zscaler.com/hc/en-us/articles/205059995-How-does-Zscaler-protect-SSL-traffic-).
Поскольку вы попытались поместить сертификат в Docker, я думаю, вы уже знакомы с шагами, описанными в /questions/11970737/docker-v-windows-boot2docker-sertifikat-podpisan-neizvestnoj-oshibkoj-organa/11970752#11970752. Ответ в этом почти правильный для сценария zscaler. Следует отметить одну вещь, потому что zscaler перехватывает дерево CA. Нам нужно добавить все сертификаты на цепях.
На данный момент цепочки сертификатов zscaler выглядят следующим образом
Нам нужно экспортировать их все по одному и следовать инструкциям в /questions/11970737/docker-v-windows-boot2docker-sertifikat-podpisan-neizvestnoj-oshibkoj-organa/11970752#11970752 для каждого из них.