SSL 보안서버 인증서가 적용된 상태에서 HTTPS를 HTTP로 리디렉션하고 싶은 경우 .htaccess 파일에 코드를 추가할 수 있습니다.
HTTPS를 HTTP로 리디렉션하는 방법
HTTPS 트래픽을 HTTP 주소로 리디렉션하려면 다음 코드를 .htaccess 파일에 추가하면 됩니다.
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}
위의 코드가 잘 작동하지 않으면, 다음 코드를 시도해볼 수 있습니다.
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{ENV:HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
.conf 파일을 사용하는 경우:
<VirtualHost *:443>
ServerName domain.com
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/domain.crt
SSLCertificateKeyFile /etc/apache2/ssl/domain.key
SSLCACertificateFile /etc/apache2/ssl/domain.crt
</VirtualHost>
Siteground에서는 다음과 같은 코드를 제안하네요. (출처: Redirect from HTTPS to HTTP)
# Redirect HTTPS to HTTP
RewriteCond %{HTTP:X-Forwarded-Proto} =https
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
참고로 위의 코드는 모두 유효한 SSL 인증서가 있는 경우에만 작동합니다. 유효한 SSL 인증서가 없는 경우 https://...로 접속하면 보안인증서 오류가 표시되고 http://...로 리디렉션되지 않습니다.
어떤 유형이든 리다이렉트(Redirect)가 발생하기 전에 https로의 연결이 먼저 이루어지므로 보안서버 SSL 인증서가 설치되어 있지 않은 상태에서는 https 요청을 http로 리디렉션하는 방법은 없다고 합니다.
블루호스트 등 해외 호스팅에서는 오래 전부터 무료로 SSL 인증서를 제공해왔으며, 우리나라 웹호스팅에서도 무료 Let's Encrypt SSL 인증서를 지원하는 상품을 내놓고 있습니다. HTTPS 주소로 접속 시 HTTP로 리디렉션해야 하는 상황에서 위의 방법을 시도해볼 수 있습니다.
※파트너스 활동으로 일정액의 수수료를 제공받을 수 있습니다.
참고: