자체 서명된 인증서가 인증서 체인 오류에서 수정하는 방법

오류: 인증서 체인에서 자체 서명된 인증서
최근 몇 년 동안, 개발자들은 Node.js, npm 또는 Git과 같은 특정 애플리케이션 및 개발 도구에서 패키지를 설치하고 게시할 때 SELF_SIGNED_CERT_IN_CHAIN 오류를 경험하고 있습니다.

몇 년 전, npm이 더 이상 자체 서명된 인증서를 지원하지 않겠다고 발표했을 때까지 이 문제가 발생하지 않았습니다.

이는 인증서 검증 프로세스가 더 이상 자동으로 진행되지 않음을 의미합니다. 따라서 개발자들은 이제 자신의 애플리케이션이 자체 서명된 인증서를 볼 수 있도록 설정해야 합니다.


인증서 체인에서 자체 서명된 인증서를 어떻게 수정하나요?

인증서 체인에서 자체 서명된 인증서
사용 중인 도구에 따라 몇 가지 권장 사항이 있습니다. 일부는 위험하고, 일부는 안전합니다. 그러나 한 가지는 분명합니다: 인증서 검증 프로세스를 완전히 비활성화하려고 해서는 안 됩니다.

Node.js의 경우

다음 코드를 코드의 처음에 삽입하여 신뢰할 수 없는 인증서를 허용하는 환경 변수를 추가할 수 있습니다:

`process . env [ 'NODE_TLS_REJECT_UNAUTHORIZED' ]  =  0 ;`

이것은 위험하며 프로덕션에서는 사용하지 않는 것이 좋습니다. 대신, 여러 애플리케이션에 대해 이렇게 해야 한다면 npm config set strict-ssl=false를 사용하여 이 과정을 반복하지 않도록 하십시오.

사용자들은 또한 Node의 버전을 업그레이드하여 기존의 버그와 취약점을 수정하는 것을 제안합니다.


npm의 경우

권장 솔루션은 다시 한 번 npm의 버전을 업그레이드하는 것입니다. 다음 중 하나를 실행하세요:

npm install npm -g --ca=null

npm update npm -g

또는 현재 npm 버전에 알려진 등록기관을 사용하도록 지시한 다음, 설치 후 사용을 중지할 수 있습니다:

`npm config set ca "" npm install npm -g
npm config delete ca`

일부 사용자는 단순히 레지스트리 URL을 https에서 http로 변경했다고 언급했습니다:

`npm config set registry = "http://registry.npmjs.org/"`

이 제안 중 하나가 문제를 해결하는 데 도움이 되었기를 바랍니다. 추천 사항이 있으시면 아래 댓글 섹션을 사용하십시오.