질문

질문

나는 현재실행 중인 Docker 레지스트리(예 :) 인스턴스 에 트래픽을 안전하게 nginx전달하도록 구성된 개인 Docker 레지스트리 서버httpsdocker-compose개인 네트워크(DNS, DHCP 구성)

전체 설정이 예상대로 작동했지만자체 서명된 인증서 만들기나는 사용이 허가되지 않았기 때문에"암호화하자"(하드 요구 사항). 내 네트워크의 모든 Ubuntu 호스트 .crt에 파일을 배포하고 /usr/local/share/ca-certificates인증서 저장소를 업데이트했습니다(예: 를 통해 sudo update-ca-certificates -f).

그러나 인증서가 "신뢰할 수 있음"(위 단계에서)임에도 불구하고 인증서는 여전히 "자체 서명"으로 등록되어 있습니다.Docker Registry가 완전히 작동하도록 할 수 있는 유일한 방법은 파일을 만드는 것입니다., /etc/docker/daemon.json, 다음 내용이 포함되어 있습니다(내 Docker Registry 인스턴스가 registrylan도메인의 호스트에서 실행되고 있다고 가정).

{
  "insecure-registries" : [ "registry.lan:5000" ]
}

이로 인해 일부 기능이 중단됩니다(즉, "안전하지 않은 레지스트리"가 활성화된 경우 작동하지 않는 일부 플러그인이 있습니다).


질문

네트워크의 모든 컴퓨터가 인증서를 "완전히 신뢰"하도록(즉, 인증서가 호스트 사이에서 "공개적으로 신뢰"되도록) 내 개인 네트워크(즉, 대부분의 시간 동안 인터넷에 연결되어 있지 않다고 가정)를 구성하려면 어떻게 해야 합니까? 로컬 네트워크)?즉, 어떤 명령을 실행하거나 구성 파일을 조정할 수 있나요?

이것이 가능한 해결책인 것 같습니다. 내 개인 네트워크에 CA plus 서버 키를 생성하는 것입니다.

감사합니다.

답변1

에 인증서를 추가하는 것만으로는 충분하지 않습니다 /usr/local/share/ca-certificates. 다른 사람을 위해 chmod를 읽었는지 확인하고 상대 경로를 /usr/local/share/ca-certificates.

귀하의 인증서가/usr/local/share/ca-certificates/self-signed/yourcert.crt

편집해야합니다/etc/ca-certificates.conf

sudo 편집기 /etc/ca-certificates.conf

/usr/local/share/ca-certificates/정확한 상대 경로를 추가합니다 .

따라서 다음과 같아야 합니다.

자체 서명/yourcert.crt

그런 다음 실행

sudo 업데이트-ca-인증서

위 명령 출력에 인증서 1개가 추가된 것을 볼 수 있습니다.

이 인증서는 이 특정 호스트에서만 신뢰된다는 점을 명심하세요. 내부적으로 신뢰할 수 있으려면 Docker 컨테이너에도 배포해야 합니다.

관련 정보