ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CentOS7 Apache ssl 인증서 적용 그리고 80 to 443 redirect
    HOWTO 2020. 6. 5. 08:35

    ssl 인증서를 적용하는 일이 자주 있는 건 아니라서 

    매번 할 때는 어케어케 찾아서 하는데 매번 헤맨다 ㅠㅠ 그래서 오늘은 정리!

     

    1.mod_ssl 설치

    # yum install mod_ssl -y

    2. httpd.conf 에 Load Modle 추가 

    1) LoadModule, Include 부분 중에 없는 항목 추가

    2) ServerName 도메인으로 추가

    # vi /etc/httpd/conf/httpd.conf

    LoadModule ssl_module modules/mod_ssl.so
    Include conf.modules.d/.conf
    Include conf.d/.conf

    ServerName XXX.YYY.com

    4. ssl.conf 파일 수정 

    httpd.conf 에 모든 내용을 담으면 헷갈려서 ssl.conf 에 인증서 정보 설정

    # vi /etc/httpd/conf.d/ssl.conf

    LoadModule ssl_module modules/mod_ssl.so

    Include conf.modules.d/.conf

    Include conf.d/.conf

     

    LoadModule ssl_module modules/mod_ssl.so

    NameVirtualHost *:443

    Listen 443

     

    AddType application/x-x509-ca-cert .crt

    AddType application/x-pkcs7-crl    .crl

    SSL Virtual Host Context

    <VirtualHost *:443>

     

    ServerAdmin $mail_ID@naver.com  -> 수정

    ServerName XXX.YYY.com -> 수정

     

    DocumentRoot /var/www/html

    ErrorLog    /var/log/httpd/ssl-test.or.kr-error_log

    TransferLog /var/log/httpd/ssl-test.or.kr_access_log

     

    LogLevel error

    SSLEngine on

    SSLProtocol all -SSLv2

     

    SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW


    -> 아래 부분 키 저장 경로에 맞게 수정

    SSLCertificateFile /root/keys/cert.pem 

    SSLCertificateKeyFile /root/keys/keys.pem

    SSLCertificateChainFile /root/keys/chain.pem

     

    </VirtualHost> 

     

    5. apache httpd 재기동

    # systemctl restart httpd

     

    6. 브라우저에서 설정한 도메인으로 https 접근되는지 확인 

    https://XXX.YYY.com

     

    7. ssl 인증서 적용까지만 하면 https 로 접근했을때만 보안 연결이 되므로 http (80)로 접근하더라도 https(443) 로 redirect 시켜주는게 좋은데, 이때는 httpd.conf 에만 VirtualHost 설정을 추가하면 된다.

    httpd.conf 파일 제일 하단에 아래 내용을 추가해줬다.

    # vi /etc/httpd/conf/httpd.conf

    <VirtualHost :80>
    Servername     XXX.YYY.com -> 수정
    <IfModule mod_rewrite.c> 
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^/user/login(.)$ https://%{HTTP_HOST}%{REQUEST_URI} [R, L]
    </IfModule> 
    </VirtualHost> 

     

    8. apache httpd 재기동

    # systemctl restart httpd

     

    9. 브라우저에서 설정한 도메인으로 http 연결을 하면 https 로 자동 변환되어 보안 연결이 사용되었다는 자물쇠를 확인할 수 있다. 

    반응형

    댓글

Designed by Tistory.