我尝试在本地主机上设置SSL,我已经执行了http://madurad.wordpress.com/2014/04/25/redirect-http-to-https-with-wamp-server/和许多其他操作,但无法成功。我在httpd-ssl. conf的语法中卡住了。当我设置
<Directory "c:/wamp/www/">
Options Indexes FollowSymLinks
AllowOverride all
Require all granted
SSLOptions +StdEnvVars
</Directory>
我已经尝试了许多其他像
<Directory "c:/wamp/www/">
SSLOptions +StdEnvVars
</Directory>
什么是问题不能得到....
7条答案
按热度按时间z8dt9xmd1#
如何配置WAMPServer以使用HTTPS SSL
这不是一个简单的过程。希望本教程能让SSL为您工作。但是,一旦它工作,正确配置它完全取决于您。
Additional reading for all who travel this road
好的,
我在本教程中创建了一个名为www.wamphelpers.dev的站点,因此,无论您在何处看到该名称,请将其更改为您试图保护的站点名称。
首先,我在\wamp\www\wamphelpers中创建了一个不安全的站点
在
\wamp\bin\apache\apache{version}\conf\extra\httpd-vhosts.conf
中为该站点添加了虚拟主机已将其域名添加到C:\windows\system32\drivers\etc\hosts
现在,从使用“以管理员身份运行”启动的命令窗口重新启动dnscache,如下所示
然后在\wamp\www\wamphelpers\index.php中创建了一个简单的脚本
现在,要激活已定义的新虚拟主机,请编辑
\wamp\bin\apache\apache{version}\conf\httpd.conf
并找到以下行并删除
#
注解字符,如下所示保存档案。
现在重新启动Apache,并确保您的简单的不安全的虚拟托管站点在继续之前正常工作。
**openssl工具包。**openssl.exe、ssleay32.dll和libeay32.dll随附并位于C:\wamp\bin\apache\apachex.y.z\bin文件夹中。这应该是创建自签名证书所需的全部内容!!
**但是:**这些在我安装的任何Apache版本上都不起作用。我总是收到这个错误消息。
其中序号根据我所在的Apache版本文件夹而变化。
如果你得到这个错误,不要担心,这是你需要做的。
安装最新版本的OPENSSL工具包
这可以通过from here获得
**注意:**不要使用V1.1版本,PHP团队还没有用这些新链接编译PHP,所以请坚持使用V1.0.?版本,直到他们这样做。
选择“Win32 OpenSSLv xxx Light”或“Win 64 OpenSSLv xxx Light”的最新版本以匹配您安装的WAMPServer版本,因为这是您所需要的全部。
这将下载一个.exe文件,您可以运行该文件来安装此工具包。
它会问下面的问题,我建议你这样回答,这样你就不会把一些东西安装到C:\windows\system32中。毕竟这是一个工具包,它经常变化。最好把这些东西分开,不要让它们成为系统全局。
一旦安装完成(安装到您在安装中指定的任何文件夹),您就应该准备好开始生成密钥和证书的过程了!
生成密钥和证书。
步骤1:生成RSA私钥
首先,我们需要为自己创建一个证书。正常的(付费的)过程是创建你的证书,然后将其传递给签名机构。这就是为什么要花钱的原因,因为他们必须这样做,应有的谨慎,以检查你是谁,你说你是谁,你将使用证书的网站是真实的和合法的。
openssl工具包用于生成RSA私钥和CSR(证书签名请求),以用于我们的证书。第一步是创建您的RSA私钥。此密钥是一个1024位RSA密钥,使用Triple-DES加密,并以PEM格式存储,因此可以作为ASCII文本读取。
使用[b]以管理员身份运行[/b]将目录更改为上面安装OpenSSL Toolkit的位置,打开命令窗口(Dos框)。在我的示例中,这是
制作一个文件夹的输出要放在(以保持垃圾箱文件夹整齐)我用网站
现在输入以下命令:
这应该已经在网站文件夹中创建了一个名为server.key的文件,没有密码短语密钥,请检查它是否存在。
步骤2:生成CSR(证书签名请求)
在生成CSR的过程中,系统将提示您输入几条信息。这些是证书的X.509属性。其中一条提示是“公用名(例如,服务器FQDN或您的名称)[]:“。**请务必在此字段中填写要受SSL保护的服务器的完全限定域名。**因此,如果要保护的网站是
https://www.wamphelpers.dev
,则在此提示中输入www.wampheplers.dev
。我使用wamphelper.dev
是因为我的ServerName
是ServerName wamphelpers.dev
不要在问题中输入任何内容:A challenge password []:]只需按Enter键。如果您在此处输入密码短语,当您启动配置了SSL的Apache时,Apache将无法启动,并将给予以下错误消息:-
基本上,如果你输入了一个密码,Apache每次启动时都会向你询问这个密码。这显然不会让你的生活更轻松,但主要是在Windows上,它实际上并不工作,当Apache试图询问密码时,会导致Apache崩溃,并出现上述错误。
生成CSR的命令如下:
步骤3:生成自签名证书
此时,您将需要生成自签名证书,因为您不打算让CA对证书进行签名,或者您希望在CA对证书进行签名时测试新的SSL实现。
PRE - WARNING此证书将在客户端浏览器中生成一个错误,表明签名证书颁发机构未知且不受信任.这是不可避免得,因为我们自己签名证书,但信任网站当然不知道我们是谁. * 请参阅本文档后面得示例,该示例显示如何告诉您得浏览器您确实信任此证书 *
步骤4:安装私钥与证书
在您正在使用的Apache版本下创建这两个目录。
并将我们刚刚生成的文件复制到它们中,如下所示:
步骤5:配置Apache以激活SSL
编辑httpd.conf,检查此行是否未注解
也从此行中删除注解“#”
然后将这条线移到这个区块之后....像这样
步骤6:配置PHP以激活SSL
编辑你的php.ini(使用wampmanager菜单,这样你就可以编辑正确的)
删除注解';'从这行
步骤7:配置安全站点虚拟主机
是的,对于所有你的虚拟主机说,现在你不能避免的过程。
编辑
\wamp\bin\apache\apachex.y.z\conf\extra\httpd-ssl.conf
这个文件是由Apache发布的,包含一些默认的文件位置。我们可以保留这个文件的大部分内容,但是我们需要在这里配置虚拟主机,以匹配我们的实际站点位置和一些其他的东西:
找到这些线
型
并将其更改为
查找
且换到了
存储器
查找
且换到了
查找
且换到了
查找
并将其更改为
型
查找
型
且换到了
基本上查看conf文件和任何未注解掉但引用了文件或文件夹的命令,应将其更改为引用WAMPServer文件夹结构而不是“C:/Apache 2...”。
现在,确保我们更改的所有文件都已保存,然后使用wampmanager菜单重新启动Apache。
首先测试未受保护的站点是否仍在工作。
然后尝试使用您的新受保护的网站添加'https://'到前面的域名,即
https://www.wamphelpers.dev
没有单引号当然.如果Apache没有重新启动您可能拼写错误。请按如下方式测试配置:-
开启指令视窗
显示器
这将解析所有的配置文件,并给予一个文件名和一个发现错误的行号。
请修正后再试一次。
第一次访问你的网站会生成一个类似这样的消息页面。这是用FireFox的,其他的会稍有不同,但是概念是一样的。
这是因为您的证书不是由受信任的颁发机构签署的,不要惊慌,这是应该发生的。
点击“我了解风险”,这将显示一个按钮,上面写着“添加例外”,在检查证书站点详细信息确实是您的之后,按下“添加例外”按钮,除非您清除例外列表,否则您将不会再看到此消息。
重要提示从Apache v2.2.12和OpenSSL v0.9.8j开始,现在每个Apache示例可以保护多个站点。本教程不涉及该过程。请参阅此处了解更多详细信息:
Here
and Here
and Here
3phpmpom2#
需要激活wampserver 2.5中文件***httpd.conf***中的模块***LoadModule socache_shmcb_module modules/mod_socache_shmcb.so***。如果没有激活,apache将抛出下一条消息:
AH 00526:在C的第75行出现语法错误:SSL会话缓存:不支持“shmcb”会话缓存(已知名称:)。也许您需要加载相应的socache模块(mod_socache_shmcb?)。
epfja78i3#
如果出现类似以下的错误:
无法将modules/mod_ssl. so加载到服务器:找不到指定的模块。
1.您可能想尝试在wamp文件夹中搜索libeay32.dll,您可能在{wamp文件夹}/bin/php/php{版本7}/中找到它
1.复制libeay32.dll和ssleay32.dll并将它们粘贴到{wamp文件夹}/bin/apache/apache{版本2.x}/bin/ AND {wamp文件夹}/bin/php/php{版本5.x}中。请确保备份您放置的所有内容。
1.运行httpd -t并测试语法
注意:我相信这是由于wamp 3.0.6的apache openssl部分的错误。幸运的是,在php7文件夹中,这些dll与apache和php5兼容。
ukqbszuj4#
@里格斯·霍利:在您的教程中的一些小错误/打字错误/添加。下面是与Windows 7 SP1 64位上的WAMPServer 2.5 64位(Apache 2.4.9和PHP 5.5.12)结合使用:
-httpd-vhosts.conf位于额外的/httpd-vhosts.conf中
gcuhipw95#
@里格斯·弗利:带有密钥的自签名证书可以很容易地生成,例如这里的... http://www.selfsignedcertificate.com/,所以我可以从第4步开始教程(我还运行了standard:80虚拟服务器)。
不管怎么说,在默认的WAMP安装中已经启用了一些提到的东西(我猜它会随着版本的变化而变化),但是其余的帮助了我很多。实际上有一件事是缺失的...我还不得不取消注解“httpd.conf”中的下面一行
qcuzuvrc6#
如果出现错误:
无法将modules/mod_ssl. so加载到服务器:操作系统无法运行%1
然后您必须:
1.在此处安装Win32 OpenSSL http://slproweb.com/products/Win32OpenSSL.html
1.将libeay32.dll和ssleay32.dll复制/粘贴到您的wamp php bin文件夹中(C:\wamp64\bin\php\php5.6.19)
1.重新启动apache
注:在Wamp服务器3上测试
wvmv3b1j7#
众人面前:
1).关闭WAMP并继续执行
C:\wamp\scripts\config.inc.php
,从数组libeay32.dll
、ssleay32.dll
、第133行和第139行移动2).从官方网站安装OpenSSL,注意你的操作系统版本x64或没有。
命令提示符:
3).
cd C:\wamp\bin\apache\apache2.4.23\bin
4).
openssl req -new > localhost.csr
5).
openssl rsa -in privkey.pem -out localhost.key
6).
openssl x509 -in localhost.csr -out localhost.crt -req -signkey localhost.key -days 365 -sha256 -extfile v3.ext
**更新:**从Chrome 58开始,我们需要提供
Subject Alternative Name
。此名称可以从扩展文件v3.ext
中获得:在公用名中插入“localhost”非常重要
7).获取localhost.key和localhost.crt并将它们放到
C:\wamp\bin\apache\apache2.4.23\conf\key
中(当然,在创建相应的目录之前)配置方式:
8).在
C:\wamp\bin\apache\apache2.4.23\bin\php.ini
中使能,并且一个月一个月一个月一个月一个月
9).继续执行
C:\wamp\bin\apache\apache2.4.23\conf\httpd.conf
并取消注解:LoadModule ssl_module modules/mod_ssl.so
,Include conf/extra/httpd-ssl.conf
,Include conf/extra/httpd-vhosts.conf
,10).继续执行
C:\wamp\bin\apache\apache2.4.23\conf\extra\httpd-ssl.conf
并进行更改:
SSLSessionCache "shmcb:c:/wamp/bin/apache/apache2.4.23/logs/ssl_scache(512000)"
,SSLSessionCacheTimeout 300
,VirtualHost _default_:443
,DocumentRoot "c:/wamp/www/"
,ServerName localhost:443
,,(如果不存在则创建文件)
TransferLog "c:/wamp/bin/apache/apache2.4.23/logs/access.log"
,SSLCertificateFile "c:/wamp/bin/apache/apache2.4.23/conf/key/localhost.crt"
,SSLCertificateKeyFile "c:/wamp/bin/apache/apache2.4.23/conf/key/localhost.key"
,,
证件办理:
11).按Win+R并插入“certmgr. msc”,将servercert.crt导入“受信任的根证书颁发机构”
12).在命令提示符中检查服务器“httpd -t”是否应为“语法正常”
13).启动Wamp并继续链接
https://localhost
我希望这会有帮助
**注意:**请阅读有关Mozilla行为的文章: