시작하기 앞서 이전 상황...
막상 자려고 하니 개선사항이 아른거린다.
https를 정상적으로 발급받고, 남아있는 http포트를 nginx로
리다이렉트만 시켜주면 된다.
1. 자신의 nginx 설정파일, example.conf를 찾자.
2. 기존에 있던 server { } 블록을 80포트와 443로 나눠주어야한다.
3. nginx 재기동....
example.conf 코드
server {
listen 80 443 ssl https;
server_name example.com
root html;
ssl on;
ssl_certificate /etc/pki/tls/certs/example.com.chained.crt;
ssl_certificate_key /etc/pki/tls/private/example.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_prefer_server_ciphers on;
location ~ /\.ht {
deny all;
}
}
※ nginx 초기 설정 이후 건드린 적이 없으면, 위와 같이 server block이 따로 나뉘어져 있지않는 것 같다. 나는 Certbot으로 SSL을 발급 받았고, Certbot이 자동으로 Nginx 설정 파일에 443 포트를 열어준 것 같다.
server {
listen 80;
server_name example.com;
root html;
location / {
return 301 https://example.com$request_uri;
}
}
server {
listen 443 ssl https;
server_name example.com
root html;
ssl on;
ssl_certificate /etc/pki/tls/certs/example.com.chained.crt;
ssl_certificate_key /etc/pki/tls/private/example.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_prefer_server_ciphers on;
location ~ /\.ht {
deny all;
}
}
* 이후 systemctl reload nginx 로 설정 파일을 새로 적용해주니, 정상적으로 http->https 리다이렉션을 한다.
출처 링크
이런 유용한 정보를 나눠주셔서 감사합니다.