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

2018. 2. 21. 18:36 | 댓글 0

SSL 보안서버 인증서가 적용된 상태에서 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로 리디렉션하는 방법은 없다고 합니다.

참고:


  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기

댓글을 달아 주세요

">