【问题标题】:How to enable https (localhost) url in WAMP server (v2.5)? [duplicate]如何在 WAMP 服务器 (v2.5) 中启用 https (localhost) url? [复制]
【发布时间】: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

标签: php apache ssl https wamp


【解决方案1】:

您必须先使用密钥和证书设置您的 WAMP:

  1. here下载openssl,根据你的操作系统选择合适的版本。
  2. 安装它,然后运行 ​​cmd 并获取安装它的位置: cd 'C:\OpenSSL-Win**' 一定要在适当的文件夹中

  3. 运行这些命令:

    • 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 等的密码短语。

  4. 完成后,将生成文件:private.keycertificate.crt,创建一个文件夹,将其命名为 key 在此路径 C:\wamp...bin\apache\apache2.*.**\conf 中。

  5. 打开此文件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
    
  6. 打开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"
    

    完成后保存您的文件。

  7. 我将 ssleay32.dll 和 libeay32.dll 从 C:\wamp..\bin\php\php7.0.10 文件夹复制到 c:\windows\system32

  8. 最后检查cd C:\wamp64\bin\apache\apache2.4.23\bin中的配置并运行此命令httpd -t,如果一切正常,您将获得。

    C:\wamp64\bin\apache\apache2.4.23\bin>httpd -t
    Syntax OK
    
  9. 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 搜索来到这里,我可以检查您是否能够更新此答案以包含外部(链接)教程的基本部分?此外,考虑到发布以来的时间,如果实践过时,可能值得更新所选教程(尽管我尚未阅读该教程,所以我不确定是否有必要) .
    • 这是非常古老的教程,对当前版本无效。
    猜你喜欢
    • 1970-01-01
    • 2012-10-12
    • 1970-01-01
    • 1970-01-01
    • 2015-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-26
    相关资源
    最近更新 更多