내 Linux 시스템에서만 잘못된 SSL 인증서

내 Linux 시스템에서만 잘못된 SSL 인증서

저는 웹사이트를 호스팅하고 있습니다. 제 DNS 서버는 NameCheap에서 왔습니다. 그곳에서 SSL 인증서를 구입하고 nginx를 통해 구성했습니다. 모든 것이 괜찮았지만 어느 날 크롬에서 인증서가 이제 유효하지 않다고 불평하기 시작했습니다(만료일이 지나지 않았습니다). 아직) 내 웹사이트는 lodugo.com입니다. 이 문제는 지금은 기억할 수 없는 다른 특정 페이지에서도 발생합니다. 그러나 개인 Linux 노트북이나 다른 네트워크(로컬 또는 네트워크를 통해)에 있는 다른 장치에서만 발생합니다. ) 인터넷, 문제없어요

가장 흥미로운 점은 개인 Linux 노트북에서 시크릿 모드로 Chrome을 사용하면 인증서에 대해 불평하지 않는다는 것입니다.

OS가 인증서 자체를 거부하는 것처럼 보이거나 Chrome에서 다음과 같이 말하고 있기 때문에 여기에 게시합니다.

This server could not prove that it is lodugo.com; its security certificate is not trusted by your computer's operating system. This may be caused by a misconfiguration or an attacker intercepting your connection.

기본 사항을 확인했는데 시간과 날짜는 괜찮고 다른 장치는 어쨌든 잘 작동하며 서버 측에는 아무것도 건드리지 않습니다. 무슨 일이 일어나고 있는지에 대한 힌트나 설명을 도와줄 수 있는 사람이 있나요?

여기에서 오류가 있고 스텔스 모드인 인증서 사진을 찾을 수 있습니다(오류가 없고 동일한 시스템에 있음).

실수: 실수

보이지 않으며 오류 없음: 가명

세부정보 탭에서 오류가 발생했습니다. 세부정보 탭에 오류가 있습니다.

시크릿 모드의 세부정보 탭 시크릿 모드의 세부정보 탭

답변1

Chrome이 필요한 CA 인증서에 액세스할 수 없는 것 같습니다. 빠른 확인ssllabs.com웹사이트에 중간 인증서가 없음을 나타냅니다. 인증서를 구매하면 일반적으로 자체 인증서뿐만 아니라 중간 인증서도 함께 제공됩니다.

일반적으로 브라우저는 루트 CA 인증서만 저장하고 웹 서버가 웹 서버 자체 인증서와 함께 중간 인증서를 보낼 것으로 예상합니다. 중간 인증서는 브라우저에 알려진 루트 CA에 의해 서명되고, 웹 서버의 인증서는 중간 인증서에 의해 서명됩니다. 이는 신뢰 체인을 생성합니다. 그러나 브라우저가 중간 인증서에 액세스할 수 없으면 체인이 끊어집니다.

nginx에 설치하려면 두 가지를 결합하여 파일 앞에 인증서를 넣으세요.

cat my_certificate.crt intermediate.crt > certificate_for_nginx.crt

Chrome이 인증서를 어떻게 관리하는지 잘 모르겠습니다. 자체 인증서를 관리한다는 인상을 받았습니다. 그러나 운영 체제 자체 인증서를 사용하는 경우 다음 명령을 사용하여 웹 사이트가 Linux에 맞게 구성되었는지 테스트할 수 있습니다.

openssl s_client -connect example.com:443

귀하의 사이트에서 이것을 시도하면 다음과 같은 결과를 얻습니다.

...
Start Time: 1583258842
Timeout   : 7200 (sec)
Verify return code: 21 (unable to verify the first certificate)
Extended master secret: yes

이는 인증서가 인증에 실패했음을 나타냅니다. 일반적으로 이는 인증서를 찾을 수 없음을 의미하며, 다른 오류가 더 설명적인 경향이 있습니다.

관련 정보