SSL화된 사이트에 API 요청을 던져도 인증서 오류
2612 단어 letsencrypt아파치SSL 인증서api
발생한 사례
클라이언트로부터 「사쿠라 클라우드에서 동작하고 있던 서비스가 바이러스에 감염되어 OS를 클린 인스톨 되어 버리므로 도와 줘」라고 의뢰가 왔다.
조사가 번거로웠던 것과 서비스 자체도 작았기 때문에 OS~어플리케이션까지 풀 풀로 신서버에 신규 인스톨하기로 했다. CakePHP로 움직이고 있는 어플리케이션으로 증명서가 LetsEncrypt로 동작하고 있는 정도 간단한 작업이라고 생각하고 있었다.
문제 발생
하루에 걸쳐 데이터 마이그레이션도 끝나고, 사이트에서의 동작 확인도 끝났지만 20시의 타이밍에 선방의 엔지니어로부터 API를 두드려도 응답이 돌아오지 않으면.
증상
하루에 걸쳐 데이터 마이그레이션도 끝나고, 사이트에서의 동작 확인도 끝났지만 20시의 타이밍에 선방의 엔지니어로부터 API를 두드려도 응답이 돌아오지 않으면.
증상
검증한 것
$ openssl version
OpenSSL 1.0.2o 27 Mar 2018
openssl s_client -connect example.com:443 < /dev/null | grep "Certificate chain" -A 10
~~~省略~~~
verify error:num=21:unable to verify the first certificate
verify return:1
DONE
Certificate chain
0 s:/C=--/ST=SomeState/L=SomeCity/O=SomeOrganization/OU=SomeOrganizationalUnit/CN=tk2-251-35269.vs.sakura.ne.jp/[email protected]
i:/C=--/ST=SomeState/L=SomeCity/O=SomeOrganization/OU=SomeOrganizationalUnit/CN=tk2-251-35269.vs.sakura.ne.jp/[email protected]
---
인증서 확인에 실패했습니다.
Apache 설정 재확인
<VirtualHost *:443>
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:3DES:!aNULL:!MD5:!SEED:!IDEA
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
# ↓この設定が抜けていた
# SSLCertificateChainFile /etc/letsencrypt/live/example.com/fullchain.pem
# ~~以下略~~~
</VirtualHost>
확실히 SSLCertificateChainFile(중간 증명서)의 설정이 빠져 있었다.
이것으로 화가났다.
수정하면 API 통신도 대로 무사이행 작업도 완료할 수 있었습니다.
최근에는 Lets의 증명서도 간단하게 취득할 수 있게 되어 있지만, 역시 어딘지 모르게 움직이고 있는 상태 무서운구나. . .
Reference
이 문제에 관하여(SSL화된 사이트에 API 요청을 던져도 인증서 오류), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/uiuifree/items/011c9ff5ac9e8200ac55텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)