使用SSL时在WAMP服务器上获取403禁止错误

时间:2012-01-31 19:41:44

标签: ssl wamp wampserver

我刚刚花了4个小时尝试在我的本地开发wamp服务器上运行SSL(Windows 7)。

现在似乎一切都设置正常,服务器重新启动,至少没有任何错误!!

当我尝试通过HTTPS(SSL 443)访问我的网站时,我似乎无法解决的唯一问题是禁止使用403。它在端口80上工作正常,而不是在443上。 错误日志显示以下内容

[error] [client 127.0.0.1] client denied by server configuration: F:/My Webs/freedate/public_html/

我的http.conf文件添加了以下vhost

<VirtualHost *:80>
    ServerName www.freedate.local
    ServerAlias freedate.local *.freedate.local
    DocumentRoot "F:\My Webs\freedate\public_html"

    <Directory "F:\My Webs\freedate\public_html">
        allow from all
        order allow,deny
        # Enables .htaccess files for this site
        AllowOverride All
    </Directory>
    DirectoryIndex index.html index.php
</VirtualHost>

我的httpd-ssl.conf添加了以下vhost

<VirtualHost *:443>
    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile "C:/wamp/bin/apache/Apache2.2.21/conf/ssl/server.crt"
    SSLCertificateKeyFile "C:/wamp/bin/apache/Apache2.2.21/conf/ssl/server.key"

    ServerName www.freedate.local
    ServerAlias freedate.local *.freedate.local
    DocumentRoot "F:\My Webs\freedate\public_html"

    <Directory "F:\My Webs\freedate\public_html">
        Options -Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
    DirectoryIndex index.html index.php
</VirtualHost>

如果有人能够发现我做错了什么,我将非常感激,非常感谢。

亲切的问候 加里

1 个答案:

答案 0 :(得分:5)

虽然这是一个非常古老的问题,但我今天遇到了同样的问题,我在这里为所有面临这个问题的人提供解决方案。

如果没有SSL,一切正常,这个解决方案应该可行。您可以在此处找到无SSL工作的帮助:https://stackoverflow.com/a/14671738/2407971

<VirtualHost _default_:443>文件中,在</VirtualHost><Directory "c:/Apache24/cgi-bin"> SSLOptions +StdEnvVars </Directory> 代码块之间,您会发现以下内容:

<Directory  "c:/wamp64/www/">
    #Options FollowSymLinks
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Require all granted
</Directory>
<Directory  "c:/wamp64/www/yoursite/">
    #Options FollowSymLinks
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Require all granted
</Directory>

在这些行之后,插入以下代码:

%localappdata%\Temp

这基本上允许在SSL中访问www文件夹和yoursite的根目录。

重新启动服务器并测试您的网站。

希望它有所帮助。