Distribution 레지스트리의 S3 요청에 대한 프록시 설정
S3에 액세스하는 Distribution 레지스트리 프로세스에 프록시 설정을 두고, 객체 스토리지로 리디렉션되는 클라이언트는 별도로 계산하십시오.
환경을 인식하는 HTTP 전송을 사용하는 컨테이너화된 Distribution 레지스트리에서는 S3 경로를 레지스트리 컨테이너에 전달합니다.
services:
registry:
environment:
HTTP_PROXY: http://proxy.example.internal:8080
HTTPS_PROXY: http://proxy.example.internal:8080
NO_PROXY: localhost,127.0.0.1이를 기존 image, 스토리지, 인증, volumes와 합치십시오. 이 조각은 완전한 레지스트리가 아닙니다. 프록시 이름은 해당 컨테이너에서 도달 가능해야 하고, 스킴은 프록시 리스너와 일치해야 합니다.
배포된 S3 드라이버와 전송을 확인하십시오. Distribution 2.8.3이 인용한 소스는 AWS SDK 세션을 사용합니다. 사용자 지정 드라이버나 전송은 다른 지원 구성이 필요할 수 있습니다.
| 연결 | 구성하거나 조사할 주체 |
|---|---|
| 클라이언트 → 레지스트리 | 레지스트리의 인바운드 HTTP 리스너와 클라이언트 경로 |
| 데몬 → image 원본 | Docker 데몬 프록시 설정 |
| 레지스트리 → S3 | 레지스트리 프로세스의 스토리지 HTTP 전송 |
클라이언트 로그인 성공은 첫 번째 경로만 증명합니다. 스토리지 드라이버는 S3로 자체 요청을 보냅니다. 이전에 레지스트리 image를 가져온 데몬은 그 호출을 하지 않습니다.
blob 다운로드 중의 리디렉션도 확인하십시오. Distribution은 소비자를 객체 스토리지로 리디렉션할 수 있으며, 그러면 그 클라이언트에 S3 직접 도달 요구가 생깁니다. 레지스트리의 프록시를 구성해도 소비자는 구성되지 않습니다. 리디렉션 동작을 바꾸면 blob 트래픽의 흐름이 바뀌므로, 그 설정을 조정하기 전에 실패하는 발신자와 작업을 먼저 특정하십시오.