나는 여전히 같은 문제가 있습니다. 위의 답변 중 어느 것도 해결되지 않는 것 같습니다. 우분투 16.04가 있고 https://docs.docker.com/install/linux/docker-ce/ubuntu/에 설명 된 단계를 따릅니다.
apt-get
https 관련 버그와 관련이 있다고 생각합니다 . 인쇄되는 정보 apt-get
는 오해의 소지가 있습니다.
다음 Failed to fetch..
과 같이 번역 될 수도 있습니다.problem accessing resource from within an https connection
이 결론에 도달 한 방법 :
우선 저는 회사 프록시 뒤에 있으므로 다음 구성을 설정했습니다.
/etc/apt/apt.conf
Acquire::http::proxy "http://squidproxy:8080/";
Acquire::https::proxy "http://squidproxy:8080/";
Acquire::ftp::proxy "ftp://squidproxy:8080/";
Acquire::https::CaInfo "/etc/ssl/certs/ca-certificates.pem";
/etc/apt/apt.conf.d/99proxy
Acquire::http::Proxy {
localhost DIRECT;
localhost:9020 DIRECT;
localhost:9021 DIRECT;
};
다른 항목으로 다음 테스트를 수행했습니다. sources.list
테스트 항목 1 :
deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable
sudo apt-get update
W: The repository 'https://download.docker.com/linux/ubuntu xenial Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Failed to fetch https://download.docker.com/linux/ubuntu/dists/xenial/stable/binary-amd64/Packages
E: Some index files failed to download. They have been ignored, or old ones used instead.
실패
테스트 항목 2 :
deb [arch=amd64] http://localhost:9020/linux/ubuntu xenial stable
/etc/apache2/sites-enabled/apt-proxy.conf
# http to https reverse proxy configuration.
Listen 9020
<VirtualHost *:9020>
SSLProxyEngine On
# pass from squid proxy
ProxyRemote https://download.docker.com/ http://squidproxy:8080
ProxyPass / https://download.docker.com/
ProxyPassReverse / https://download.docker.com/
ErrorLog ${APACHE_LOG_DIR}/apt-proxy-error.log
CustomLog ${APACHE_LOG_DIR}/apt-proxy-access.log combined
</VirtualHost>
sudo apt-get update
Hit:1 ..
Hit:2 ..
...
Hit:7 http://localhost:9020/linux/ubuntu xenial InRelease
Get:8 ...
Fetched 323 kB in 0s (419 kB/s)
Reading package lists... Done
성공
테스트 항목 3 :
deb [arch=amd64] https://localhost:9021/linux/ubuntu xenial stable
/etc/apache2/sites-enabled/apt-proxy.conf
# https to https revere proxy
Listen 9021
<VirtualHost *:9021>
# serve on https
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
SSLProxyEngine On
# pass from squid proxy
ProxyRemote https://download.docker.com/ http://squidproxy:8080
ProxyPass / https://download.docker.com/
ProxyPassReverse / https://download.docker.com/
ErrorLog ${APACHE_LOG_DIR}/apt-proxy-error.log
CustomLog ${APACHE_LOG_DIR}/apt-proxy-access.log combined
</VirtualHost>
sudo apt-get update
W: The repository 'https://localhost:9021/linux/ubuntu xenial Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Failed to fetch https://localhost:9021/linux/ubuntu/dists/xenial/stable/binary-amd64/Packages
E: Some index files failed to download. They have been ignored, or old ones used instead.
실패
위의 경우 apt-get Failed to fetch
및 Release
파일이 실제로 동일한 프록시 구성을 사용하여 browser
/ wget
/ 에서 액세스 할 수 있는 URL입니다 curl
. http 역방향 프록시 URL에서만 작동
한다는 사실 은 https 연결 내에서 리소스에 액세스apt-get
하는 데 문제 가 있음을 의미 합니다 .
이 문제가 무엇인지 모르지만 apt-get
더 많은 정보를 제공하는 메시지를 표시해야합니다 ( apt
훨씬 덜 장황함).
참고 : wiresharking 사례 1은 프록시 CONNECT
가 성공했고 RST가 전송되지 않았 음을 보여 주 었지만 물론 파일을 읽을 수 없었습니다.