nginx 프록시 뒤에 Docker 개인 레지스트리 (v2)가있는 잘못된 HTTP 응답

알렉스 남

공식 문서에 따라 CentOS 7 상자에 Docker 개인 레지스트리 (v2)를 설정했습니다. https://docs.docker.com/registry/deploying/

Fedora 21 상자에서 docker 1.6.0을 실행하고 있습니다.

레지스트리는 포트 5000에서 실행 중이며 신뢰할 수있는 CA에서 서명 한 SSL 키를 사용하고 있습니다. 'docker-registry.example.com'에 대한 DNS 레코드를 서버의 내부 IP로 설정했습니다. 'docker pull docker-registry.example.com:5000/tag/image'를 실행하면 예상대로 작동합니다.

nginx 버전 : nginx / 1.8.0을 실행하는 nginx 서버를 설정하고 nginx 서버를 가리키는 'nginx-proxy.example.com'에 대한 DNS 레코드를 설정하고 사이트를 설정합니다. 구성은 다음과 같습니다.

server {
   listen 443 ssl;
   server_name nginx-proxy.example.com;

   add_header Docker-Distribution-Api-Version: registry/2.0 always;

   ssl on;
   ssl_certificate /etc/ssl/certs/cert.crt;
   ssl_certificate_key /etc/ssl/certs/key.key;

   proxy_set_header Host $host;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-Proto $scheme;
   proxy_set_header X-Original-URI $request_uri;
   proxy_set_header Docker-Distribution-Api-Version registry/2.0;

   location / {
     proxy_pass http://docker-registry.example.com:5000;
   }
}

'docker pull nginx-proxy.example.com/tag/image'를 실행하려고하면 다음 오류가 발생합니다.

FATA[0001] Error response from daemon: v1 ping attempt failed with error: Get https://nginx-proxy.example.com/v1/_ping: malformed HTTP response "\x15\x03\x01\x00\x02\x02"

내 질문은 두 가지입니다.

  1. Docker 클라이언트가 / v1_ / ping을 찾는 이유는 무엇입니까?
  2. '잘못된 형식의 http 응답'이 표시되는 이유

'curl -v nginx-proxy.example.com/v2'를 실행하면 다음과 같이 표시됩니다.

[root@alex amerenda] $ curl -v https://nginx-proxy.example.com/v2/
* Hostname was NOT found in DNS cache
*   Trying 10.1.43.165...
* Connected to nginx-proxy.example.com (10.1.43.165) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* SSL connection using TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
* Server certificate:
*   subject: CN=*.example.com,O="example, Inc.",L=New York,ST=New York,C=US
*   start date: Sep 15 00:00:00 2014 GMT
*   expire date: Sep 15 23:59:59 2015 GMT
*   common name: *.example.com
*   issuer: CN=GeoTrust SSL CA - G2,O=GeoTrust Inc.,C=US
> GET /v2/ HTTP/1.1
> User-Agent: curl/7.37.0
> Host: nginx-proxy.example.com
> Accept: */*
> \x15\x03\x01\x00\x02\x02

'curl -v docker-registry.example.com'을 수행하면 200 OK 응답을받습니다. 따라서 nginx가이를 책임 져야합니다. 왜 이런 일이 일어나는지 아는 사람이 있습니까? 그것은 나를 미치게 만든다!

스테 펜 울리히
 proxy_pass http://docker-registry.example.com:5000;

일반 HTTP (예 : https 없음)로 요청을 전달하고 있습니다.

\ x15 \ x03 \ x01 \ x00 \ x02 \ x02

그리고 SSL 응답을 받고 있습니다. 따라서 포트 5000에 액세스하려면 http : //가 아닌 https : //를 사용해야하는 것 같습니다. SSL을 사용하고 있다는 것도 알고 있습니다.

레지스트리는 포트 5000에서 실행 중이며 신뢰할 수있는 CA에서 서명 한 SSL 키를 사용하고 있습니다.

그 외에 : example.com과 같은 예를 위해 예약 된 이름을 사용하고 귀하의 예에 속하지 않는 도메인 이름을 사용하지 마십시오.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

프리 플라이트에 대한 응답에 잘못된 HTTP 상태 코드 400이 있습니다.

분류에서Dev

prompt ()의 응답을 확인합니다. 잘못된 응답에 대해 다시 프롬프트

분류에서Dev

POST / PUT 요청이 오류 400 (잘못된 요청)으로 응답되므로 nginx 역방향 프록시 뒤의 애플리케이션 문제 해결

분류에서Dev

Clojure 링에 대한 Angular POST는 프리 플라이트에 대한 응답을 수신하는 데 잘못된 HTTP 상태 코드 404가 있습니다.

분류에서Dev

angular 2 프리 플라이트에 대한 응답에 잘못된 HTTP 상태 코드 401 오류가 있습니다.

분류에서Dev

프리 플라이트에 대한 응답에 각도 게시 요청에서 잘못된 HTTP 상태 코드 403이 있습니다.

분류에서Dev

Docker NGINX 리버스 프록시 502 VM의 잘못된 게이트웨이

분류에서Dev

Docker 오류 : HTTP 408 응답 본문 : 값의 시작을 찾는 잘못된 문자 '<'

분류에서Dev

프리 플라이트에 대한 응답에 ionic + CI 백엔드에서 잘못된 HTTP 상태 코드 405가 있습니다.

분류에서Dev

어떻게 자바에서 HTTP 응답 코드 (400) 오류를 수정하려면? 어떤 잘못된 요청 구문 또는 잘못된 요청 메시지 프레이밍이 있습니까?

분류에서Dev

프리 플라이트에 대한 응답이 잘못 HTTP 상태 코드 401을 가지고 - 봄

분류에서Dev

Docker 및 Nginx에서 역방향 프록시를 사용할 때 502 잘못된 게이트웨이

분류에서Dev

HTTP 404 응답 본문을 구문 분석하는 Docker AWS ECR 오류 : 최상위 값 뒤에 잘못된 문자 'p': "404 페이지를 찾을 수 없음 \ n"

분류에서Dev

프리 플라이트에 대한 응답에 oauth / token에 대한 잘못된 HTTP 상태 코드 401이 있습니다.

분류에서Dev

XMLHttpRequest를로드 할 수 없습니다 .... 프리 플라이트에 대한 응답에 잘못된 HTTP 상태 코드 401이 있습니다.

분류에서Dev

Asp.net 웹 API를 사용하는 AngularJS : XMLHttpRequest를 반환하는 $ http 게시물을로드 할 수 없음 : 프리 플라이트에 대한 응답에 잘못된 HTTP 상태 코드 405가 있습니다.

분류에서Dev

프리 플라이트 요청에 대한 Angular HttpClient 응답이 액세스 제어 검사를 통과하지 못함 : HTTP 확인 상태가 없습니다.

분류에서Dev

개조가 포함 된 게시물 요청이 Android에서 잘못된 요청으로 응답합니다.

분류에서Dev

Nginx 뒤에서 Express 앱을 실행하는 간헐적 인 502 잘못된 게이트웨이 오류

분류에서Dev

NGINX 리버스 프록시 뒤의 docker + kubernetes를 사용하여 Identity Server 4로 Blazor 서버 앱에서 인증 및 권한 부여 추가

분류에서Dev

잘못된 포트에 역방향 프록시, 봄 보안 로그인 리디렉션 뒤에

분류에서Dev

Nginx 웹 서버의 하위 도메인을 통해 프록시 된 Nextcloud Docker 컨테이너의 502 잘못된 게이트웨이 오류

분류에서Dev

잘못된 UIView에 응답하는 UITapGestureRecognizer

분류에서Dev

잘못된 Lambda 프록시 응답-Python

분류에서Dev

404를 보내는 nginx 리버스 프록시 뒤의 Docker Flask 앱

분류에서Dev

스캐 폴드 페이지에 대한 Grails 잘못된 응답 인코딩

분류에서Dev

http 포트에 대해서만 응답을 반환하는 Docker

분류에서Dev

concourse가 개인 Docker 레지스트리에 넣지 못해 500 오류가 나타날 때까지 재 시도합니다.

분류에서Dev

레일 3의 잘못된 인수 개수 (2 개에 3 개)

Related 관련 기사

  1. 1

    프리 플라이트에 대한 응답에 잘못된 HTTP 상태 코드 400이 있습니다.

  2. 2

    prompt ()의 응답을 확인합니다. 잘못된 응답에 대해 다시 프롬프트

  3. 3

    POST / PUT 요청이 오류 400 (잘못된 요청)으로 응답되므로 nginx 역방향 프록시 뒤의 애플리케이션 문제 해결

  4. 4

    Clojure 링에 대한 Angular POST는 프리 플라이트에 대한 응답을 수신하는 데 잘못된 HTTP 상태 코드 404가 있습니다.

  5. 5

    angular 2 프리 플라이트에 대한 응답에 잘못된 HTTP 상태 코드 401 오류가 있습니다.

  6. 6

    프리 플라이트에 대한 응답에 각도 게시 요청에서 잘못된 HTTP 상태 코드 403이 있습니다.

  7. 7

    Docker NGINX 리버스 프록시 502 VM의 잘못된 게이트웨이

  8. 8

    Docker 오류 : HTTP 408 응답 본문 : 값의 시작을 찾는 잘못된 문자 '<'

  9. 9

    프리 플라이트에 대한 응답에 ionic + CI 백엔드에서 잘못된 HTTP 상태 코드 405가 있습니다.

  10. 10

    어떻게 자바에서 HTTP 응답 코드 (400) 오류를 수정하려면? 어떤 잘못된 요청 구문 또는 잘못된 요청 메시지 프레이밍이 있습니까?

  11. 11

    프리 플라이트에 대한 응답이 잘못 HTTP 상태 코드 401을 가지고 - 봄

  12. 12

    Docker 및 Nginx에서 역방향 프록시를 사용할 때 502 잘못된 게이트웨이

  13. 13

    HTTP 404 응답 본문을 구문 분석하는 Docker AWS ECR 오류 : 최상위 값 뒤에 잘못된 문자 'p': "404 페이지를 찾을 수 없음 \ n"

  14. 14

    프리 플라이트에 대한 응답에 oauth / token에 대한 잘못된 HTTP 상태 코드 401이 있습니다.

  15. 15

    XMLHttpRequest를로드 할 수 없습니다 .... 프리 플라이트에 대한 응답에 잘못된 HTTP 상태 코드 401이 있습니다.

  16. 16

    Asp.net 웹 API를 사용하는 AngularJS : XMLHttpRequest를 반환하는 $ http 게시물을로드 할 수 없음 : 프리 플라이트에 대한 응답에 잘못된 HTTP 상태 코드 405가 있습니다.

  17. 17

    프리 플라이트 요청에 대한 Angular HttpClient 응답이 액세스 제어 검사를 통과하지 못함 : HTTP 확인 상태가 없습니다.

  18. 18

    개조가 포함 된 게시물 요청이 Android에서 잘못된 요청으로 응답합니다.

  19. 19

    Nginx 뒤에서 Express 앱을 실행하는 간헐적 인 502 잘못된 게이트웨이 오류

  20. 20

    NGINX 리버스 프록시 뒤의 docker + kubernetes를 사용하여 Identity Server 4로 Blazor 서버 앱에서 인증 및 권한 부여 추가

  21. 21

    잘못된 포트에 역방향 프록시, 봄 보안 로그인 리디렉션 뒤에

  22. 22

    Nginx 웹 서버의 하위 도메인을 통해 프록시 된 Nextcloud Docker 컨테이너의 502 잘못된 게이트웨이 오류

  23. 23

    잘못된 UIView에 응답하는 UITapGestureRecognizer

  24. 24

    잘못된 Lambda 프록시 응답-Python

  25. 25

    404를 보내는 nginx 리버스 프록시 뒤의 Docker Flask 앱

  26. 26

    스캐 폴드 페이지에 대한 Grails 잘못된 응답 인코딩

  27. 27

    http 포트에 대해서만 응답을 반환하는 Docker

  28. 28

    concourse가 개인 Docker 레지스트리에 넣지 못해 500 오류가 나타날 때까지 재 시도합니다.

  29. 29

    레일 3의 잘못된 인수 개수 (2 개에 3 개)

뜨겁다태그

보관