http 접속 시에 https로 강제 리다이렉트 시키는 방법 ApacheUbuntu

1.Apache 모듈 활성화:
먼저 Apache 웹 서버에서 mod_rewrite와 mod_ssl 모듈을 활성화해야 합니다. 아래 명령어를 사용하여 모듈을 활성화합니다:
sudo a2enmod rewrite
sudo a2enmod ssl
sudo a2enmod ssl
2.HTTPS 가상 호스트 설정:
HTTPS로 강제 리다이렉트하려는 도메인의 HTTPS 가상 호스트 설정을 수정합니다.
예를 들어, /etc/apache2/sites-available/default-ssl.conf 파일을 수정하려는 경우:
sudo nano /etc/apache2/sites-available/default-ssl.conf
아래와 같이 VirtualHost 블록 내에 다음 코드를 추가합니다:
<VirtualHost *:443>
...
# 기존 설정 내용을 유지하고 아래 코드 추가
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
...
</VirtualHost>
...
# 기존 설정 내용을 유지하고 아래 코드 추가
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
...
</VirtualHost>
3.HTTP 가상 호스트 설정:
HTTP로 들어오는 요청을 HTTPS로 리다이렉트하기 위해 HTTP 가상 호스트 설정도 수정합니다.
예를 들어, /etc/apache2/sites-available/000-default.conf 파일을 수정하려는 경우:
sudo nano /etc/apache2/sites-available/000-default.conf
아래와 같이 VirtualHost 블록 내에 다음 코드를 추가합니다:
<VirtualHost *:80>
...
# 기존 설정 내용을 유지하고 아래 코드 추가
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
...
</VirtualHost>
...
# 기존 설정 내용을 유지하고 아래 코드 추가
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
...
</VirtualHost>
4. 재시작 및 구성 적용:
설정 변경을 위해 아파치 서비스를 재시작합니다:
sudo systemctl restart apache2
이제 웹 브라우저에서 HTTP로 접속하려고 시도하면, 설정에 따라 자동으로 HTTPS로 리다이렉트될 것입니다.
주의사항으로, 설정 변경 시 실제 도메인과 호스트 파일 등의 설정을 고려하여 적용하도록 해야 합니다.