如何在 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.keyCountry Name 等的密码短语。

    完成后,将生成文件:private.keycertificate.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 中启用

启用 httpd-vhosts.conf 后 WAMP 服务器未运行

启用对 WAMP 服务器上站点的本地网络访问

在 WAMP 中启用 OpenSSL

如何启用 ssl_module apache

启用 OPCache 在 WAMP 中不起作用