让 SSL 在 Xampp 中工作 - 访问被禁止错误
Posted
技术标签:
【中文标题】让 SSL 在 Xampp 中工作 - 访问被禁止错误【英文标题】:Getting SSL to work in Xampp - Access forbidden error 【发布时间】:2015-04-29 20:29:48 【问题描述】:我正在尝试让 Xampp 在 https 中工作,但我遇到了一些问题。
到目前为止我做了什么:
mod_ssl.so 已加载 php_openssl.dll 已加载 httpd-ssl.conf 中的 DocumentRoot 从 C:/xampp/htdocs 更改为 C:/xampp/,因为这是我网站的所有目录所在的位置。我需要在 httpd-ssl.conf 中更改服务器名称吗?
编辑:我需要在端口 443 和 80 上的 httpd-vhosts.conf 中添加虚拟主机吗?另外,Xampp 是否带有内置的 SSL 证书等?
【问题讨论】:
【参考方案1】:我认为最好的方法是为您正在开发的每个项目创建一个 VirtualHost。 否则,您将需要更改您当时正在开发的项目的 DocumentRoot。
因此,您可以更改“httpd-vhosts.conf”文件并为端口 80 创建一个 VH,将所有请求重定向到端口 443 的 VH(如果您只想禁用 HTTP),如下所示:
• HTTP
<VirtualHost *:80>
ServerName yoursite.your.domain
Redirect / https://yoursite.your.domain/
</VirtualHost>
• HTTPS
<VirtualHost *:443>
ServerName yoursite.your.domain:443
#in your case you're not using htdocs, so DocumentRoot be like
DocumentRoot "C:\xampp\yourproject"
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "POST, PUT, GET, DELETE, OPTIONS"
Header always set Access-Control-Allow-Headers "Content-Type"
</IfModule>
#the same here
<Directory "C:\xampp\yourproject">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
#check your absolute path bellow
SSLEngine on
SSLCertificateFile "C:\xampp\apache\conf\ssl.crt\server.crt"
SSLCertificateKeyFile "C:\xampp\apache\conf\ssl.key\server.key"
</VirtualHost>
关于证书,我认为 XAMPP 实际上带有一个内置的 SSL 证书,但是,即使它没有,你也可以使用他的工具生成它。你可以在网上看到很多关于这个的tutorials。
【讨论】:
以上是关于让 SSL 在 Xampp 中工作 - 访问被禁止错误的主要内容,如果未能解决你的问题,请参考以下文章
Xdebug + XAMPP + Netbeans = 失败。无法让调试器在 Netbeans 中工作