HTTPS를 HTTP로 리디렉션하는 방법

워드프레스 정보를 제공하는 블로그 Avada 2018. 2. 21. 18:36 • 댓글:

SSL 보안서버 인증서가 적용된 상태에서 HTTPS를 HTTP로 리디렉션하고 싶은 경우 .htaccess 파일에 코드를 추가할 수 있습니다.

HTTPS를 HTTP로 리디렉션하는 방법

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로 리디렉션해야 하는 상황에서 위의 방법을 시도해볼 수 있습니다.

※파트너스 활동으로 일정액의 수수료를 제공받을 수 있습니다.

참고: