운영체제/Linux

[Linux] Apache http(80) -> https(433) redirect 설정

louky 2020. 10. 12. 11:33
반응형

Apache에서 http로  들어 올 경우 https로 리다이렉션 해주는 설정이다.

 

 

먼저 APACHE_PATH/conf/http.conf에서 module를 활성화 해준다. 

# vi APACHE_INSTALL_PATH/conf/httpd.conf

~(skip)
LoadModule rewrite_module modules/mod_rewrite.so
### 주석을 삭제 하거나 해당 라인을 추가 한다. 

 

Vhost 설정을 conf/httpd.conf 또는  conf/extra/httpd-vhosts.conf에서 했을 경우 설정한 config 파일에 아래 내용을 추가 한다. 

 

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

 

설정 예시 )

[root@test.net ~]# vi /usr/local/apache2-ssl/conf/extra/httpd-vhosts.conf
~(중략)

<VirtualHost *:80>
    ServerAdmin test@test.net
    ServerName www.test.net
    DocumentRoot "/data/test"
    ErrorLog "|/usr/local/sbin/cronolog logs/%Y/www.wingo.kr_80_error_log-%Y-%m-%d --symlink=/usr/local/apache2-ssl/logs/error_log"
    CustomLog "|/usr/local/sbin/cronolog logs/%Y/www.wingo.kr_80_access_log-%Y-%m-%d  --symlink=/usr/local/apache2-ssl/logs/access_log" combined
        CustomLog       "|/bin/logger -p local1.notice -t apache" combined

    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

</VirtualHost>

 

동일 URL을 http에서 https로 변경하고자 할 경우 위와 같이 설정을 하면 되고

다른 URL로 할 경우에는 아래와 같이 하면 된다. 

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://리다이렉트할URL%{REQUEST_URI}

설정 예시)

[root@test.net ~]# vi /usr/local/apache2-ssl/conf/extra/httpd-vhosts.conf
~(중략)

<VirtualHost *:80>
    ServerName www.test_test.co.kr
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://www.test.net%{REQUEST_URI}
</VirtualHost>

 

 

설정을 변경한 후 apache를 재시작한다. 

 

반응형