웹 서버용 Ubuntu 16.04 LTS 서버에서 nginx 역방향 프록시를 설정 중입니다.
Ubuntu에서는 세 가지 서비스가 실행됩니다. 서비스는 API 호출을 사용하여 서로 통신합니다. 마찬가지로 클라이언트(브라우저/모바일)는 API 호출을 사용하여 서비스와 통신합니다.
클라이언트 SSL 요청을 확인하려면 서버 PC에 인증서를 설치해야 합니다. 인증 후에만 요청이 처리되거나 추가 처리를 위해 전달됩니다.
각 서비스에는 다음 형식 파일의 인증서가 있습니다. Ser1_cert.crt, Ser1_key-decryp.key, Ser1_keyfile.key, Ser1_exported.pfx
lly Ser2_..., Ser3_... files are available
CA의 경우 CA_50EA.crt가 있고 CA_50EA.pfx 파일을 사용할 수 있습니다.
인증서 설치에 사용할 인증서 파일 형식이 무엇인지 명확하지 않습니다.
시스템에 인증서를 설치하려면 다음 단계를 수행했습니다. 1. .crt 확장자 파일(CA 파일 포함)을 복사한 후 /usr/share/ca-certificates
아래 명령을 실행합니다. 2.sudo dpkg-reconfigure ca-certificates
인증서를 선택하는 UI가 표시되었는데, 저는 모두 선택했습니다. 결국 그것은 아니오를 보여주었습니다. 인증서가 추가되었습니다.
nginx.conf 파일에 인증서 경로를 올바르게 넣었습니다. .crt
과 .key
파일을 /etc/ssl/certs/
각각 복사했습니다 /etc/ssl/private/
.
ssl_certificate "/etc/pki/certs/XServer_certificate.crt"; ssl_certificate_key "/etc/ssl/private/XServer_decryp.key";
이제 브라우저 클라이언트에서 서버에 로그인을 시도했지만 다음 서버 로그 메시지와 함께 로그인 인증서 유효성 검사에 실패했습니다.
info: LoginController[0]
Certification Error :unable to get local issuer certificate
다시 확인하기 위해 모든 인증서 파일을 /usr/share/ca-certificates
디렉토리(총 14개 파일)에 복사한 후 다시 실행했습니다 sudo dpkg-reconfigure ca-certificates
. 이번에도 같은 오류가 발생합니다.
다음에 명령을 실행했을 때 sudo update-ca-certificates --fresh
아니오가 표시되었습니다. ca.pem 파일에 대한 경고와 함께 설치된 인증서는 아래와 같습니다.
WARNING: CA_50EA.pem does not contain a certificate or CRL: skipping 152 added, 0 removed; done.
폴더 에 .pem 파일이 생성되는데 /etc/ssl/certs
폴더에 .crt 파일만 입력했습니다./usr/share/ca-certificates
아래 명령을 사용하여 확인하려고 시도했지만 아래와 같은 문제가 나타납니다.
openssl s_client -connect [server name]:443 -showcerts -CAfile /etc/ssl/certs/ca-certificates.crt
................. ................. Verify return code: 21 (unable to verify the first certificate)
매우 명확한 확인 실패를 알려줍니다.
내가 놓친 단계는 무엇입니까? 이를 수행하는 올바른 접근 방식은 무엇입니까? 오류를 보고 CA가 제대로 설치되지 않은 줄 알았습니다.
나는 많은 블로그를 읽었으며 대부분 동일한 내용을 설명했지만 나에게는 효과가 없었습니다.
CentOS7에서 작업하기 얼마 전에 다음 명령을 사용하여 시스템에 인증서를 설치했습니다. update-ca-trust force-enable, update-ca-trust extract CentOS 클라이언트에서 위 명령으로 인증서 유효성 검사가 제대로 진행됩니다.
어떤 피드백이라도 감사하겠습니다.
감사해요
답변1
1. 모두들 감사합니다.
내 문제는 CentOS에 성공적으로 설치되는 CA 인증서인데 Ubuntu 16 서버에 동일한 인증서가 설치되지 않고 아래 경고 메시지가 표시된다는 것입니다. 경고: CA_50EA.pem에는 인증서 또는 CRL이 포함되어 있지 않습니다. 건너뛰는 152개, 0개가 제거되었습니다. 완료.
해결 방법: 다양한 접근 방식을 시도한 후에도 이 문제의 정확한 근본 원인을 식별할 수 없습니다. 갑자기 하나의 아이디어가 떠오르면서 문제가 해결되었습니다.
아래 URL 단계를 사용하여 CA.pfx 파일에서 새 루트 CA를 생성했으며 경고 없이 Ubuntu 16 Server에 성공적으로 설치되었으며 클라이언트 요청을 성공적으로 확인했습니다. https://www.itsupportmiami.com/how-to-convert-a-pfx-to-a-seperate-key-crt-file/
제 질문을 지켜봐 주시고 답변해 주신 모든 분들께 감사드립니다.