我有一个应用程序,现在已经通过 http 运行了 2 年。现在我们想转向 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
从上面来看,一切似乎都正常,但我不明白为什么不起作用。我在哪里有盲点。缺少什么配置?