SSL 셋팅을위한 EC생성 및 nginx 설치 도메인 연결
sudo apt -y update
sudo apt -y install nginx
sudo snap install core; sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
vi /etc/nginx/sites-available/default
systemctl restart nginx
nginx -t
sudo certbot --nginx
certbot --nginx -d cl.oud.kr
로드벨런싱을 위해 서버를 증설할떄 보안서버도 다시 생성하는게 아니라 기존 키파일을 가져가면된다
certbot에서 수정한 곳을 확인하면 설정파일들이 있는데 이걸 똑같이 가져가주면된다.
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /root/cl.oud.kr_ssl/fullchain.pem; # managed by Certbot
ssl_certificate_key /root/cl.oud.kr_ssl/privkey.pem; # managed by Certbot
include /root/cl.oud.kr_ssl/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /root/cl.oud.kr_ssl/ssl-dhparams.pem; # managed by Certbot
cert.pem : yourdomain.com 의 인증서 (public key)
chain.pem : Let’s encrypt의 Intermediate 인증서.
fullchain.pem : cert.pem 과 chain.pem을 합친 결과
privkey.pem : cert.pem publickey에 대응하는 비밀키
DNS로도 로드벨런싱이 가능하다는걸 알수있었다.
이번엔 AWS 인증서버를 사용하자
https://ap-northeast-2.console.aws.amazon.com/acm
자기 도메인을 AWS에 등록한다
DNS검증을통해 CNAME로 검증해서 도메인이 본인소유임을 확인시켜준다.
AWS인증서는
CloudFront, Elastic Load Balancing, API Gateway 및 기타 통합 서비스입니다.
에서 사용가능하기때문에 EC2두개를 ELB에 연결한다.
ELB대상그룹 생성해서 EC2두개 넣는다.
로드벨런서의 리스너두개 생성
80 , 443 두개다 그룹은 같은걸로 생성하고 추후 80의 리스터 규칙을 443으로 리다이렉트로 변경
이건 바꾸기전 설정이다
80 > 로드벨런서 > 엔진엑스 > 443 > 로드벨런서 순서이나 위의설정을 하면
80 > 로드벨런서 > 443 > 로드벨런서 순서로 바뀐다.
nslookup 를 활용하여 도메인에 정상적으로 연결됬는지 확인할수 있다.
참고자료
728x90
반응형