javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
결제 시스템쪽의 JVM을 업데이트하면 좋겠는데, 우리쪽에서 처리를 하라고 연락이 왔다.
https://www.geocerts.com/ssl_checker에 접속해서 certificate를 확인해보라며. certificate를 확인해보니, certificate chain을 확인할 수 없단다.
runserver_plus에는 Certificate chain file을 지정하는 옵션이 보이지 않는다. --cert만 지정할 수 있다. (그런데, 이 옵션이면 되는 것이었다)
Nginx + Gunicorn 또는 uWSGI로 가면서 chain file을 지정하는 방법이 있겠지 하고, uwsgi 설치하고, nginx 설정하고 nginx의 옵션을 알아보는데, crt 파일에 chain path 정보를 같이 넣은 것도 동작한다는 것을 알게 되었다-_-
Let's Encrypt에서 certificate 갱신하면 만드는 파일들이 있다.
- cert.pem
- chain.pem
- fullchain.pem
- privkey.pem
위의 파일들 중에서 cert.pem을 crt 파일로 symlink해서 사용하고 있었는데, chain 정보도 들어 있는 fullchain.pem을 crt 파일로 symlink한 후 Django를 올리니..