개발을 위한 Local Reverse Proxy
2021-05-02목적
- https 를 지원하기 위해
- 외부 서비스에서 Callback 을 받기 위해
- 여러 서버에 독립된 도메인을 지정하기 위해서
구현 방법
- 도메인을 로컬 서버의 IP에 연결한다(DDNS 이용)
- Let’s Encrypt를 이용해서 인증서 설치
- docker-compose를 이용해서 nginx 및 mysql 등 개발에 필요한 서버를 준비한다
- nginx에 reverse proxy 설정을 해서 필요한 도메인과 특정 포트를 연결한다
사전 준비
- Docker및 Docker Compose설치
- 방화벽 등으로 443, 80 포트가 막혀있지 않은지 확인
수행
-
DDNS 등으로 도메인을 로컬 IP에 연결한다. 80 포트로 접속되는지 확인한다.
-
docker certbot 을 이용해서 cert 파일을 생성한다
sudo docker run -it --rm --name certbot \
-p 80:80
-v "$(pwd)/letsencrypt/cert:/etc/letsencrypt" \
-v "$(pwd)/letsencrypt/lib:/var/lib/letsencrypt" \
certbot/certbot certonly
- nginx 설정을 한다. docker-compose 는 network host 모드로