저번에 말했듯이 오늘은 DNS,SSL인증까지 구성을 해보려고 합니다.
sudo vi /etc/nginx/sites-available/default
sudo nginx -t # 설정 파일 테스트
sudo systemctl restart nginx # nginx 재시작
다음은 SSL 인증서 발급입니다.
sudo ufw allow 443/tcp
우선 HTTPS 통신을 위해 443번 방화벽을 열어줍니다. Azure 보안그룹도 동일하게 열어줘야합니다!
sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx
sudo certbot --nginx -d web.jspark.site
sudo vi /etc/nginx/sites-available/default
server_name web.jspark.site;
location / {
return 301 https://$host$request_uri;
}
}
# HTTPS 서버 블록: 실제 요청을 처리
server {
listen 443 ssl;
server_name web.jspark.site;
ssl_certificate /etc/letsencrypt/live/web.jspark.site/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/web.jspark.site/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# 백엔드 서버 설정
upstream backend {
server 10.1.0.4:8081;
server 10.1.0.5:8080;
}
2-5 테스트 및 재시작
sudo nginx -t
sudo systemctl restart nginx
저장 후 Nginx를 재시작하여 테스트를 해줍니다.
이런식으로 443으로 정상적으로 리다이렉트 하는것을 확인 할 수 있었습니다.
원래는 여기서 DB설치 및 연동까지 해보려고 했는데 분량이 생각보다 많아서 DB부분은 따로 다뤄보도록 하겠습니다. 기본만 적는데도 생각보다 오래걸리네요