Linux/CentOS

Apache Web Server 2.4 에 HTTPS 적용하기

후뤼한잉여 2015. 11. 11. 10:53

Apache Web Server 2.4 에 HTTPS 적용하기

1) 개요

Apache Web Server 구성 이후 HTTPS로 보안을 강화해보고자 설치했던 내용을 정리하기 위해 작성되었습니다.

2) 설정방법

  1. 의존패키지 설치하기
    sudo yum install openssl-devel
    
  2. Apache 모듈 포함하여 재설치
    CentOS 7 에서 Apache Web Server 2.4 설치하기 참고하여 진행
    sudo ./configure --prefix=[Apache 설치된 디렉토리] --with-apr=[Apache 설치된 디렉토리]/bin/apr-1-config --enable-ssl --with-ssl=/usr/bin/openssl
    sudo make
    sudo make install
    

    prefix를 다른 위치로 지정하여 설치 후 SSL 모듈만 가져와서 사용하는것이 더 안전합니다.

  3. Apache 설정 변경하기
    vi [Apache 설치된 디렉토리]/conf/httpd.conf
    
    httpd.conf 파일에 수정할 내용
    LoadModule socache_shmcb_module modules/mod_socache_shmcb.so //주석 해제
    LoadModule ssl_module modules/mod_ssl.so //추가
    LoadModule rewrite_module modules/mod_rewrite.so //추가 (HTTPS로 리다이렉트시 사용 필요하신 분만 사용하세요.)
    Include conf/extra/httpd-ssl.conf //주석 해제
    
    • HTTP 접속시 HTTPS로 리다이렉트 하기 위해 httpd.conf파일 마지막에 추가
      <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteCond %{HTTPS} off
      RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [C]
      </IfModule>
      
  4. OpenSSL 인증서 생성하기
    GitLab에 HTTPS 보안 적용을 위한 OpenSSL 설정하기 참고하여 생성
  5. Apache SSL 관련 부분 설정 변경하기
    vi [Apache 설치된 디렉토리]/conf/extra/httpd-ssl.conf
    
    httpd-ssl.conf 파일에 수정할 내용
    JkMountCopy on //<VirtualHost _default_:443>아래에 추가
    DocumentRoot //주석처리
    SSLCertificateFile "[인증서 설치된 디렉토리]/[인증서 이름].crt"
    SSLCertificateKeyFile "[인증서 설치된 디렉토리]/[인증서 이름].key"
    
  6. Tomcat 설정 변경하기
    vi [Tomcat 설치된 디렉토리]/conf/server.xml
    
    server.xml에 변경할 내용
    SSLEngine=“off” //기존 "off"를 “on”변경
    
  7. 방화벽 설정하기
    sudo firewall-cmd --add-service=https --permanent
    sudo firewall-cmd --reload
    
  8. Apache, Tomcat 재시작