나는 2년 동안 http를 통해 실행되고 있는 애플리케이션을 가지고 있습니다. 이제 더 나은 보안을 위해 https로 이동하고 싶습니다. 우리의 운영 체제는 CentOS Linux 7입니다. /etc/httpd/sites-available
다음 내용으로 구성된 가상 호스트 구성이 있습니다 .
<VirtualHost *:443>
ServerName www.trade.xxx.com
ServerAlias trade.xxx.com
DocumentRoot /ims/www/trade.xxx.com/public_html/public
SSLEngine on
SSLCertificateFile /home/divo/ssl_cert/wildcard_eneo_cm.crt
SSLCertificateKeyFile /home/divo/ssl_cert/wildcard_eneo_cm.key
SSLCertificateChainFile /home/divo/ssl_cert/DigiCertCA.crt
ErrorLog /ims/www/trade.xxx.com/error.log
CustomLog /ims/www/trade.xxx.com/requests.log combined
<Directory "/ims/www/trade.xxx.com/public_html/public">
AllowOverride All
</Directory>
</VirtualHost>
하지만 을 방문하면 https://trade.xxx.com
브라우저가 계속 로드되고 잠시 후 ERR_CONNECTION_TIMED_OUT 오류가 발생합니다.
무엇이 문제일까요?
조사한 후 다음을 수행했습니다.
명령 1
openssl x509 -in wildcard_xxx_com.crt -noout -subject
산출
subject= /CN=*.xxx.com
명령 2
httpd가 포트 443 이하를 수신하는지 확인하는 결과입니다.
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 881/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 880/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1013/master
tcp6 0 0 :::3306 :::* LISTEN 905/mysqld
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 :::80 :::* LISTEN 10409/httpd
tcp6 0 0 :::53 :::* LISTEN 881/dnsmasq
tcp6 0 0 :::22 :::* LISTEN 880/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1013/master
tcp6 0 0 :::443 :::* LISTEN 10409/httpd
명령 3
방화벽이 활성화되어 있는지 확인하세요
systemctl status firewalld
아래 결과로 판단하면 방화벽이 활성화되어 있지 않으므로 방화벽 문제는 아닙니다.
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
명령 4
ssl.conf에서 SSL이 활성화되어 있는지 확인하십시오. 활성화되어 있음이 아래에 명확하게 표시될 수 있습니다.
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
위에서 보면 모든 것이 잘 작동하는 것 같지만 왜 작동하지 않는지 이해할 수 없습니다. 사각지대는 어디에 있나요? 어떤 구성이 누락되어 있나요?