Lets Encrypt 인증서, 발행서버와 서비스서버를 별도로 구성하는 방법

2017. 1. 14. 22:04Development/Tip


구글 크롬에서 56 version부터 http 프로토콜을 사용하는 사이트는 '안전하지 않음'으로 표기한다고 한다.
이미 Let's Encrypt 에 대한 설명 및 연동방법은 여러곳에 잘 설명되어 있기에 그 부분은 아래 글을 참고하기 바란다.

Let's Encrypt란?


이 글에서 다루고자하는 점은 발행용 서버와 서비스 서버를 분리하여 구축하길 원할때 사용할 수 있는 방법이다.
Let's Encrypt는 인증서 발행시 해당 도메인이 유효한지 확인하기 위해 요청된 서버의 acme-challenge 디렉토리 하위에 더미 파일을 만들고
웹에서 이 파일로 접근하여 검증을 하게 되는데, 인증서가 발행될 도메인이 발행이 실행되는 서버와 물리적으로 다른 서버일 경우 문제가 있기에 이를 해결하기 위한 하나의 방법을 정리해봤다.




서비스 서버의 nginx conf에 다음과 같은 설정을 추가한다.


location /.well-known/acme-challenge {

    proxy_pass http://발행용서버;

}


이렇게되면 해당 설정을 통하여 자신한테 들어온 요청을 발행용 서버쪽으로 넘기게 되고,

두 서버가 물리적으로 다르더라도 인증서 발행을 할 수 있게 된다.


물론 당연하게도 이렇게 발행된 인증서는 서비스 서버에 세팅하는 작업을 해줘야 정상적으로 서비스를 할 수 있다.