启用S​​SL后禁止虚拟主机

我为我的wamp64服务器启用了SSL,并且对于http:// localhost /和https:// localhost /都可以正常工作。

但我没有启用它来看本地主机 – 我需要激活我的虚拟主机之一:

<VirtualHost *:443> DocumentRoot "D:/DEV/www/app/public/" ServerName dev.app.com:443 ServerAdmin admin@localhost ErrorLog "D:/wamp64/www/ssllogs/ssl_error.log" TransferLog "D:/wamp64/www/ssllogs/ssl_access.log" SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL SSLCertificateFile "D:/wamp64/ssl.crt/server.crt" SSLCertificateKeyFile "D:/wamp64/ssl.key/server.key" <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory "D:/DEV/www/app/public"> SSLOptions +StdEnvVars Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order deny,allow Allow from all </Directory> BrowserMatch ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog "D:/wamp64/www/ssllogs/ssl_request.log" \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" </VirtualHost> 

当然,它在httpd-vhosts.conf中仍然存在

 <VirtualHost *:80> ServerName dev.app.com DocumentRoot d:/dev/www/app/public <Directory "d:/dev/www/app/public/"> Options Indexes FollowSymLinks MultiViews AllowOverride All Require local </Directory> </VirtualHost> 

现在, http版本工作得很好,但https给我:

 Forbidden You don't have permission to access / on this server. Apache/2.4.17 (Win64) OpenSSL/1.0.2h PHP/5.6.16 Server at dev.app.com Port 443 

任何想法是什么问题?

<VirtualHost *:443> *匹配所有内容 – 这是一个通配符

你不应该在虚拟主机中包含端口,你已经设置了。

 ServerName dev.app.com:443 

应该

 ServerName dev.app.com 

您无权访问/在此服务器上。 Apache / 2.4.17(Win64)OpenSSL / 1.0.2h PHP / 5.6.16服务器在dev.app.com端口443

这是语法错误的结果 – Apache 2.4的语法已经改变

 Order deny,allow Allow from all 

 Require all granted 

请参阅此处以获取访问控制语法更改的完整参考https://httpd.apache.org/docs/2.4/howto/access.html