CentOS7 Apache ssl 인증서 적용 그리고 80 to 443 redirect

 

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 [email protected]  -> 수정

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 접근되는지 확인 

 

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 로 자동 변환되어 보안 연결이 사용되었다는 자물쇠를 확인할 수 있다. 

위 포스팅이 문제될 경우 삭제하겠습니다.

출처 : https://cleanupthedesk.tistory.com/27

Powered by Blogger.