위 포스팅을 따라서 인증서를 발급받고 난 후 Nginx.conf 파일을 어떻게 설정해 주면 되는지에 대한 글이다.
Nginx 파일
worker_processes auto;
events{
worker_connections 1024;
use epoll;
}
http {
upstream quant {
server quant_home:8000;
}
client_max_body_size 100M;
server{
listen 443 ssl;
server_name quant.or.kr www.quant.or.kr;
ssl_certificate /etc/letsencrypt/live/quant.or.kr/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/quant.or.kr/privkey.pem;
ssl_prefer_server_ciphers on;
...
...
}
server {
listen 80;
server_name quant.or.kr www.quant.or.kr;
...
location / {
return 301 https://$host$request_uri;
}
# certbot이 ssl을 발급할때 아래의 주소/.well-known/acme-challenge/ 를 통해 인증하므로 반드시 필요
# location /.well-known/acme-challenge/ {
# root /var/www/certbot;
# }
}
server {
listen 80;
server_name 54.180.200.164;
return 301 https://quant.or.kr$request_uri;
}
server {
listen 443;
server_name 54.180.200.164;
return 301 https://quant.or.kr$request_uri;
}
}
위 코드는 ssl 부분만 있는 간략한 nginx.conf 이다.
listen 443 ssl;
server_name quant.or.kr www.quant.or.kr;
ssl_certificate /etc/letsencrypt/live/quant.or.kr/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/quant.or.kr/privkey.pem;
ssl_prefer_server_ciphers on;
이 부분이 SSL인증서를 읽어들여 ssl을 사용할 수 있게 해주는 부분이다.
listen 443 ssl;
443 포트로 ssl을 사용하겠다는 의미이다.
server_name ...
자신의 도메인 또는 IP 주소를 넣어주면 된다.
ssl_certificate /etc/letsencrypt/live/quant.or.kr/fullchain.pem;
ssl_certificate의 위치를 설정해준다.
인증서가 있는 폴더에서 fullchain.pem 파일을 ssl_certificate로 지정해주었다.
ssl_certificate_key /etc/letsencrypt/live/quant.or.kr/privkey.pem;
ssl_certificate_key는 위와 비슷하게 인증서가 있는 폴더에서 privkey.pem 파일로 설정해준다.
ssl_prefer_server_ciphers on;
HTTP통신과 마찬가지로 SSL을 사용한 HTTPS도 클라이언트와 서버간의 핸드셰이킹 과정이 필수적이다.
이 과정에서 서버에 설정된 알고리즘을 우선하여 적용한다는 뜻이다.
만약 off가 된다면 보안 알고리즘이 약화되어 위험할 수 있으므로 on 설정을 유지한다.
Nginx 공식문서 참조
'DevOps > Nginx' 카테고리의 다른 글
리버스 프록시의 정의와 설정 방법 (0) | 2022.03.07 |
---|---|
[Nginx] ip_hash method 주의사항 (backup X) (0) | 2021.11.20 |
[Nginx] 웹 서버 Nginx 에 대해서... (7) | 2021.10.24 |