如何在 WAMP 服务器 (v2.5) 中启用 https (localhost) url? [复制]
Posted
技术标签:
【中文标题】如何在 WAMP 服务器 (v2.5) 中启用 https (localhost) url? [复制]【英文标题】:How to enable https (localhost) url in WAMP server (v2.5)? [duplicate] 【发布时间】:2015-05-16 19:28:26 【问题描述】:我正在使用 wamp 服务器并在 localhost 中运行 php 项目。我想使用基于“https”的 url 测试我的项目。
我尝试使用“https://localhost/myproject/”并将我重定向到“此网页不可用”页面。
我在 apache 配置中启用了“php_openssl”和“ssl”模块。但仍然无法访问基于 https 的 url。
【问题讨论】:
您不能简单地将http://
替换为https://
- HTTPS 是一种安全 连接,因此需要SSL certificate。
@GoBusto 我不想替换 url。我想启用 wamp 服务器的 ssl 来测试我的项目。
你也可以看这个视频教程:youtube.com/watch?v=TH6evGKgy20
【参考方案1】:
您必须先使用密钥和证书设置您的 WAMP:
-
从here下载openssl,根据你的操作系统选择合适的版本。
安装它,然后运行 cmd 并获取安装它的位置:
cd 'C:\OpenSSL-Win**'
一定要在适当的文件夹中
运行这些命令:
C:\OpenSSL-Win..\bin>openssl genrsa -aes256 -out private.key 2048
C:\OpenSSL-Win..\bin>openssl rsa -in private.key -out private.key
C:\OpenSSL-Win..\bin>openssl req -new -x509 -sha1 -key private.key -out certificate.crt -days 36500 -config C:\OpenSSL-Win..\bin\openssl.cfg
您将被要求输入 private.key、Country Name 等的密码短语。
完成后,将生成文件:private.key
和 certificate.crt
,创建一个文件夹,将其命名为 key 在此路径 C:\wamp...bin\apache\apache2.*.**\conf
中。
打开此文件httpd.conf
。您可以在 C:\wamp...bin\apache\apache2.*.**\conf
中找到它,通过删除行首的 #
取消注释这些行,然后保存文件。
LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
Include conf/extra/httpd-ssl.conf
打开httpd-ssl.conf
文件你会在C:\wamp...bin\apache\apache2.*.**\conf\extra
找到它并通过这些行更改默认值,注意路径,我在C:/wamp../bin/apache/apache2.*.**/logs/
中创建了一个文件夹ssl
<VirtualHost _default_:443>
# General setup for the virtual host
DocumentRoot "C:/wamp../www"
ServerName localhost:443
ServerAdmin admin@example.com
ErrorLog "C:/wamp../bin/apache/apache2.*.**/logs/ssl/error.log"
TransferLog "C:/wamp../bin/apache/apache2.*.**/logs/ssl/access.log"
....
CustomLog "C:/wamp../bin/apache/apache2.*.**/logs/ssl/ssl_request.log" \
....
SSLCertificateFile "C:/wamp../bin/apache/apache2.*.**/conf/key/certificate.crt"
SSLCertificateKeyFile "C:/wamp../bin/apache/apache2.*.**/conf/key/private.key"
完成后保存您的文件。
我将 ssleay32.dll 和 libeay32.dll 从 C:\wamp..\bin\php\php7.0.10
文件夹复制到 c:\windows\system32
。
最后检查cd C:\wamp64\bin\apache\apache2.4.23\bin
中的配置并运行此命令httpd -t
,如果一切正常,您将获得。
C:\wamp64\bin\apache\apache2.4.23\bin>httpd -t
Syntax OK
https://localhost/ 会为你工作:)
【讨论】:
+2,优秀教程,只有两件事,A)在步骤 1 中,1.0.2 版似乎适用于 64 位 wamp。 B)我需要在第 8 步之后重新启动 wamp。谢谢。注意:if its 64bit wamp, Can't load ssl mod error 这是正确的,应该按原样标记。 @appsntech,您能获得荣誉吗? =) 这不适用于虚拟主机和自定义 localhost 域,例如:https://project.dev
@AliHesari 不要将 .dev 域用于本地域,因为 Google 购买了***域,而 dns 服务器会为您搞砸。我建议使用 .local -cheers
对于在生成 certificate.crt 文件时遇到问题的任何人,请尝试将路径用引号括起来,如下所示:openssl req -new -x509 -sha1 -key private.key -out certificate.crt -days 36500 -config "C:\OpenSSL-Win..\bin\openssl.cfg"
【参考方案2】:
编辑:我已将答案移至原始主题 - How to enable SSL in WAMP Server?
【讨论】:
【参考方案3】:默认情况下,您的 wamp 连接不能使用 https 协议。 您需要做的是在 wamp 上设置一个自签名证书。
关注this tutorial了解更多信息。
【讨论】:
虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review 对了,有空我会做的 刚刚通过粗略的 Google 搜索来到这里,我可以检查您是否能够更新此答案以包含外部(链接)教程的基本部分?此外,考虑到发布以来的时间,如果实践过时,可能值得更新所选教程(尽管我尚未阅读该教程,所以我不确定是否有必要) . 这是非常古老的教程,对当前版本无效。以上是关于如何在 WAMP 服务器 (v2.5) 中启用 https (localhost) url? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
Composer 警告:缺少 openssl 扩展。如何在 WAMP 中启用