앞서 google cloud platform 을 통해서 web 서버에 https까지 적용을했다.
하지만 추가적으로 https 설정을해주지않으면 http 와 https 까지둘다 접속가능하다
ex)
http://dalso.duckdns.org
https:/dalso.duckdns.org
지금은 두 사이트 모두 접근가능이 가능한데 보안을 위해서 http://dalso.duckdns.org 로 접속하게되면 https로 자동 리다이렉트하게 설정해보도록 하겠다.
방법은 간단하게 서버에서 80번 포트로 오는 요청을 443으로 가게끔돌려놓으면 된다.
서버 ssh 접근 후 vi /etc/nginx/conf.d/default.conf
기존 server name 밑에 자잘한것들은 다 없애고 / 아래로 접근시 301리다이렉트 시켜주면 된다.
location / {
return 301 https://dalso.duckdns.org$request_uri; ## HTTPS로 리다이렉팅
}
풀 코드
server {
listen 80 ;
listen [::]:80 ;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name dalso.duckdns.org;
access_log /var/log/nginx/web.access.log main;
error_log /var/log/nginx/web.error.log;
location / {
return 301 https://dalso.duckdns.org$request_uri; ## HTTPS로 리다이렉팅
}
}
이렇게하면 80으로 접근시 자동으로 443포트로 이동한다.
이제 service nginx restart 하고 웹으로 접근해보면
자동으로 https로 반영된다.