首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在使用虚拟主机时在XAMPP中使用https (SSL)?

如何在使用虚拟主机时在XAMPP中使用https (SSL)?
EN

Stack Overflow用户
提问于 2013-05-08 00:04:51
回答 5查看 100.4K关注 0票数 49

我正在本地机器上编写一个php应用程序,并希望测试一下SSL是否正常工作。请原谅我,因为这是我第一次使用SSL。

到目前为止,我所做的就是:

  1. 创建了SSL证书。我按照本教程的第一部分创建证书。
  2. 我将server.crt文件导入到chrome中。
  3. 删除;extension=php_openssl.dll in php.ini (参考文献)前面的分号
  4. 基于httpd-vhosts.conf页面编辑了我的文件。该文件的相关部分如下。这是完整的文件:http://pastebin.com/k6Jh2eR6 DocumentRoot "C:\Users\user_name\Documents\project_one“ServerName project_one.localhost SSLEngine on SSLCertificateFile "conf/ssl.crt/server.crt”SSLCertificateKeyFile "conf/ssl.key/server.key“ AllowOverride ServerName project_one.localhost SSLEngine on SSLCertificateFile,拒绝所有

我通常会通过输入http://project_one.localhost来访问我的项目

当试图通过在chrome中键入https://project_one.localhost https://project_one.localhost/xampp/ 来访问我的项目时,它会自动被转发到https://project_one.localhost/xampp/(就好像XAMPP根本不承认 https://project_one.localhost 是子域,并且把它当作是在 https://localhost**)中输入--知道我在哪里搞砸了吗?**)

注意:

  • LoadModule ssl_module modules/mod_ssl.sohttpd.conf文件中未注释
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-05-26 16:34:17

HTTPS://url.here/品种的SSL完全由Apache处理,与PHP任何扩展/模块或任何php.ini设置无关。

一个典型的启用SSL的VirtualHost看起来像这样,至少包含以下这些部分.

代码语言:javascript
运行
复制
<VirtualHost *:443>
    DocumentRoot "C:/WampDeveloper/Websites/www.example.com/webroot"
    ServerName www.example.com
    ServerAlias example.com

    SSLEngine On

    SSLCertificateFile "C:/WampDeveloper/Websites/www.example.com/certs/public.crt"
    SSLCertificateKeyFile "C:/WampDeveloper/Websites/www.example.com/certs/private.key"

    <Directory "C:/WampDeveloper/Websites/www.example.com/webroot">
        Options All
        AllowOverride All
        order allow,deny
        allow from all
    </Directory>

</VirtualHost>

(上面的路径来自我的WampDeveloper Pro设置,Xampp的将略有不同)

你的<VirtualHost *>线路有问题。它需要一个端口号,对于HTTPS:// URL来说,端口号总是为443,与它之前的IP地址或星号组合在一起。如果使用星星,也是NameVirtualHost *:443线.

代码语言:javascript
运行
复制
NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost *:80>
    DocumentRoot "C:\xampp\htdocs"
    ServerName localhost
</VirtualHost>
<VirtualHost *:443>
    DocumentRoot "C:\Users\user_name\Documents\project_one"
    ServerName project_one.localhost
    SSLEngine on
    SSLCertificateFile "conf/ssl.crt/server.crt"
    SSLCertificateKeyFile "conf/ssl.key/server.key"
    <Directory "C:\Users\user_name\Documents\project_one">
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot "C:\Users\user_name\Documents\project_two"
    ServerName project_two.localhost
    <Directory "C:\Users\user_name\Documents\project_two">
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
票数 44
EN

Stack Overflow用户

发布于 2016-07-02 12:18:11

下面是简单的步骤。

  1. 转到C:\xampp\apache\conf

开放httpd.conf

并启用ssl扩展(行删除#)

代码语言:javascript
运行
复制
LoadModule ssl_module modules/mod_ssl.so

  1. 转到C:\xampp\apache\conf\extra

开放httpd-vhosts.conf

添加新的虚拟主机或编辑现有的

代码语言:javascript
运行
复制
<VirtualHost *:443>   
	DocumentRoot "C:/xampp/htdocs/PROJECTNAME" 
	ServerName www.pl.f24sdev.com
	<Directory C:/xampp/htdocs/PROJECTPATH>
		AllowOverride All
		Order Deny,Allow   
		Allow from all  
	</Directory>
	SSLEngine on
	SSLCertificateFile "conf/ssl.crt/server.crt"
	SSLCertificateKeyFile "conf/ssl.key/server.key"   
</VirtualHost>

票数 15
EN

Stack Overflow用户

发布于 2014-09-11 15:16:24

这也许是个老生常谈的问题,但我还是要把我的答案放在这里,供将来参考。

我是使用XAMPP3.2.1的,编译于2013年5月7日,

为了同时启用VirtualHostSSL,这里是我所做的。(我在使用windows 7)

  1. 您的windows HOST文件必须已经安装完毕。
  2. 去位于httpd-ssl.confxampp\apache\conf\extra

我只是复制了_default_ virtualhost并添加了我的配置。我删除了所有较短的注释,并将其粘贴到默认的virtualHost下面,只需更改DocumentRootservername,然后重新启动apache。

代码语言:javascript
运行
复制
<VirtualHost *:443>
    DocumentRoot "***path/to/your/project}***"
    ServerName ***yourdomain***
    ServerAdmin admin@example.com
    ErrorLog "C:/xampp/apache/logs/error.log"
    TransferLog "C:/xampp/apache/logs/access.log"
    SSLEngine on
    SSLCertificateFile "conf/ssl.crt/server.crt"
    SSLCertificateKeyFile "conf/ssl.key/server.key"

    <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory "C:/xampp/apache/cgi-bin">
        SSLOptions +StdEnvVars
    </Directory>

    BrowserMatch "MSIE [2-5]" \
             nokeepalive ssl-unclean-shutdown \
             downgrade-1.0 force-response-1.0

    CustomLog "C:/xampp/apache/logs/ssl_request.log" \
              "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16430574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档