我正试图让Xampp在https中工作,但我遇到了一些问题。
到目前为止我所做的:
- mod_ssl.so已加载
- php_opensl.dll已加载
- httpd-ssl.conf中的DocumentRoot已从C:''xamp/htdocs更改为C:''xamp/,因为我的站点的所有目录都在这里
我需要更改httpd-ssl.conf中的服务器名称吗?
编辑:我需要在端口443和80的httpd-vhosts.conf中添加虚拟主机吗?此外,Xampp是否带有内置的SSL证书等。?
我认为最好的方法是为您正在开发的每个项目创建一个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证书,但是,即使它没有附带,你也可以使用他的工具生成它。你可以在互联网上看到很多关于这方面的教程。