首页 > 解决方案 > Apache (WAMP) 拒绝 HTTPS 连接

问题描述

我在 Win Server 16 下运行 WAMP 服务器 v3.1.3,托管多个网站。一切都很好,直到我决定向我的一个站点(Apache 虚拟主机)添加 SSL 证书。现在 Web 服务器拒绝从外部到该站点的 HTTPS 连接,但我能够通过 HTTPS 在本地正确访问该站点。所有其他站点都运行良好/未受影响。显然我在某处搞砸了配置,但不确定在哪里,可能是一个愚蠢的错误。

在 httpd.conf 中,我启用了 ssl_module、socache_shmcb 模块并包含了 httpd-ssl.conf。此外,我已将证书和密钥放在 Apache conf 文件夹中。Httpd 说 Sintax 没问题,我无法在日志中检测到任何错误。大多数其他设置都有其默认值。Web 服务器应该在端口 443 上侦听,但拒绝来自外部的连接。在本地,我可以正常访问该站点并正确指示 HTTPS。我使用相同的 url (https://...; 3) 在本地和远程访问它,该站点在本地使用 HTTPS 正常工作;远程我收到“ERR_CONNECTION_REFUSED”HTTP 错误。Apache 版本为 2.4.33;任何帮助都感激不尽!

这里有一些提示:

httpd-vhosts.conf看起来像这样:

<VirtualHost *:443>
SSLEngine On
SSLCertificateFile 
"C:/WAMP64/bin/apache/apache2.4.33/conf/key/certificate.crt"
SSLCertificateKeyFile "C:/WAMP64/bin/apache/apache2.4.33/conf/key/key.key"
SSLCACertificateFile "C:/WAMP64/bin/apache/apache2.4.33/conf/key/ca.crt"

ServerName domain.com
ServerAlias www.domain.com
DocumentRoot "c:/wamp64/www/domain"
<Directory  "c:/wamp64/www/domain/">
    Require all granted
</Directory>
</VirtualHost>
#
<VirtualHost *:80>
ServerName domain.com
ServerAlias www.domain.com
DocumentRoot "c:/wamp64/www/domain"
<Directory  "c:/wamp64/www/domain/">
    Require all granted
</Directory>
</VirtualHost>
#
<VirtualHost *:80>
ServerName site2.domain.com
DocumentRoot "c:/wamp64/www/site2"
<Directory  "c:/wamp64/www/site2/">
    Require all granted
</Directory>
</VirtualHost>

httpd-ssl.conf看起来像这样:

Listen 443

SSLCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES
SSLProxyCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES

SSLHonorCipherOrder on 

SSLProtocol all -SSLv3
SSLProxyProtocol all -SSLv3

SSLPassPhraseDialog  builtin

SSLSessionCache        
"shmcb:C:/WAMP64/bin/apache/apache2.4.33/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  300

<VirtualHost _default_:443>

DocumentRoot "c:/WAMP64/www"
ServerName domain.com:443
ServerAdmin admin@domain.com
ErrorLog "C:/WAMP64/bin/apache/apache2.4.33/logs/error.log"
TransferLog "C:/WAMP64/bin/apache/apache2.4.33/logs/access.log"

SSLEngine on

SSLCertificateFile "C:/WAMP64/bin/apache/apache2.4.33/conf/key/certificate.crt"
SSLCertificateKeyFile "C:/WAMP64/bin/apache/apache2.4.33/conf/key/key.key"
SSLCertificateChainFile "C:/WAMP64/bin/apache/apache2.4.33/conf/key/ca.crt"

<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory "C:/WAMP64/www">
SSLOptions +StdEnvVars
</Directory>

BrowserMatch "MSIE [2-5]" \
     nokeepalive ssl-unclean-shutdown \
     downgrade-1.0 force-response-1.0

CustomLog "C:/WAMP64/bin/apache/apache2.4.33/logs/ssl_request.log" \
      "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>

标签: apachesslwamp

解决方案


解决了。当然原因是一个愚蠢的错误——我的路由器没有打开端口 443 :)


推荐阅读