1. httpd, TLS, WSGI 관련 패키지 설치
# yum install httpd mod_ssl mod_wsgi
2. 디렉토리 생성
$ sudo mkdir -p /srv/webapp11/www
3. 애플리케이션을 새로운 홈 드렉토리로 복사
$ sudo cp ~/webapp.wsgi /srv/webapp11/www/
4. 새로운 디렉토리에 SELinux 컨텍스트 재설정
$ sudo restorecon -Rv /srv/webapp11
restorecon reset /srv/webapp11/www context unconfined_u:object_r:var_t:s0->unconfined_u:object_r:httpd_sys_content_t:s0
restorecon
reset /srv/webapp11/www/webapp.wsgi context
unconfined_u:object_r:var_t:s0->unconfined_u:object_r:httpd_sys_content_t:s0
5. TLS를 구성하는데 필요한 모든 인증서와 키를 다운로드
5.1 example.com CA 인증서를 /etc/pki/tls/certs에 다운로드
$ cd /etc/pki/tls/certs
$ sudo wget http://classroom.example.com/pub/example-ca.crt
5.2 webapp11.example.com 인증서를 /etc/pki/tls/certs로 다운로드
$ sudo wget http://classroom.example.com/pub/tls/certs/webapp11.crt
5.3 webapp11 개인키를 /etc/pki/tls/private로 다운로드하고 사용권한을 600로 지정
$ cd /etc/pki/tls/private
$ sudo wget http://classroom.example.com/pub/tls/private/webapp11.key
$ sudo chmod 600 webapp11.key
6. 다운로드 한 키와 인증서를 사용하여 https://webapp11.example.com에 대한 새로운 TLS 이름 기반 가상 호스트 구성
6.1 webapp11.conf 파일 생성
$ sudo vi /etc/httpd/conf.d/webapp11.conf
<VirtualHost *:443>
ServerName webapp11.example.com
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLHonorCipherOrder on
SSLCertificateFile /etc/pki/tls/certs/webapp11.crt
SSLCertificateKeyFile /etc/pki/tls/private/webapp11.key
SSLCertificateChainFile /etc/pki/tls/certs/example-ca.crt
WSGIScriptAlias / /srv/webapp11/www/webapp.wsgi
</VirtualHost>
<Directory /srv/webapp11/www>
require all granted
</Directory>
7. 웹 서버 시작 및 부팅 활성화
$ sudo systemctl start httpd.service
$ sudo systemctl enable httpd.service
8. 방화벽 설정
$ sudo firewall-cmd --permanent --add-service=https
$ sudo firewall-cmd --reload
9. 클라이언트 설정
desktop$ wget http://classroom.example.com/pub/example-ca.crt
desktop$ firefox
Edit > Preferences > Advanced > Certificates > View Certificates > Import > example-ca.crt > Trust this CA to identify websites > OK
https://webapp11.example.com으로 접속하면 아래와 같은 결과를 호가인 할 수 있다(신뢰성 있는 페이지로 바로 접근 가능)
UNIX EPOCH time is now: 1426664395.25
'Linux > CentOS' 카테고리의 다른 글
[CentOS] lftp를 활용한 파일 및 디렉토리 동기화(백업) (0) | 2015.05.26 |
---|---|
[CentOS] pdksh 설치 에러 - sort: cannot read: +2n: No such file or directory (0) | 2015.04.14 |
[CentOS7] Apache TLS (0) | 2015.03.18 |
[CentOS7] Apache HTTP (0) | 2015.03.18 |
[CentOS7] MariaDB - 4 (0) | 2015.03.18 |
최근댓글