왜 HTTPS 로 Redirect 해야 할까?

웹 페이지에서 로그인 페이지나 회원가입 페이지의 경우 사용자의 암호가 포함되어 있기 때문에 HTTPS 통신해아 안전한 홈페이지라고 할 수 있습니다.

차라리 80 포트를 오픈하지 않고 오로지 443 통신만을 하도록 하면 아주 간단하겠지만 그렇게 하는 것은 너무 좀...그렇죠? 굳이 암호화 통신을 하지 않아도 되는 페이지를 암호화 시킬 필요는 없으니까요.

PHP 소스 코드 상에서 HTTP로 접근한 통신에 대해서 HTTPS로 리다이렉트를 시켜도 되지만 그렇게 하지 않고 아파치 설정 파일에서 하는 방법을 알아보도록 하겠습니다.

HTTP to HTTPS

Rewrite를 사용하여 아주 간단하게 처리 할 수 있습니다.

<VirtualHost *:80>
...
RewriteEngine  on

RewriteCond %{HTTPS} off
RewriteRule ^(\/login\.php) https://%{HTTP_HOST}%{REQUEST_URI} [L]
# 모든 페이지에 적용하려면 ^(.*) 요렇게 적어주시면 됩니다.
...
</VirtualHost *:80>

위 코드에서는 특정 페이지를 "login.php"라고 생각을 한 것이고 실제 사용하시는 페이지의 이름을 적으시면 됩니다.