Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 让SSL在Xampp中工作-禁止访问错误_Php_Apache_Ssl_Https_Xampp - Fatal编程技术网

Php 让SSL在Xampp中工作-禁止访问错误

Php 让SSL在Xampp中工作-禁止访问错误,php,apache,ssl,https,xampp,Php,Apache,Ssl,Https,Xampp,我试图让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证书等?我认为最好的方法是为

我试图让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证书等?

我认为最好的方法是为您正在开发的每个项目创建虚拟主机。 否则,您将需要更改您当时正在开发的项目的DocumentRoot

因此,您可以更改“httpd vhosts.conf”文件并为端口80创建一个VH,将所有请求重定向到端口443的VH(如果您只想禁用HTTP),如下所示:

•HTTP

<VirtualHost *:80>
    ServerName yoursite.your.domain
    Redirect / https://yoursite.your.domain/
</VirtualHost>

服务器名yoursite.your.domain
重定向/https://yoursite.your.domain/
•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>

ServerName yoursite.your.domain:443
#在您的情况下,您没有使用htdocs,所以DocumentRoot应该是这样的
DocumentRoot“C:\xampp\yourproject”
标题集访问控制允许原点“*”
标题始终设置访问控制允许方法“POST、PUT、GET、DELETE、OPTIONS”
标头始终设置访问控制允许标头“内容类型”
#这里也一样
选项+索引+包含+跟随符号链接+多视图
允许超越所有
要求所有授权
#下面检查您的绝对路径
斯伦金安
SSLCertificateFile“C:\xampp\apache\conf\ssl.crt\server.crt”
SSLCertificateKeyFile“C:\xampp\apache\conf\ssl.key\server.key”
关于证书,我认为XAMPP实际上附带了一个内置的SSL证书,但是,即使它没有附带,您也可以使用他的工具生成它。你可以在网上看到很多关于这方面的信息