为啥我无法获得与 Wamp 2.4.4 一起使用的自签名证书 (ssl)?

Posted

技术标签:

【中文标题】为啥我无法获得与 Wamp 2.4.4 一起使用的自签名证书 (ssl)?【英文标题】:Why can't I get a self signed certificate (ssl) to work with Wamp 2.4.4?为什么我无法获得与 Wamp 2.4.4 一起使用的自签名证书 (ssl)? 【发布时间】:2014-03-09 15:42:47 【问题描述】:

我是 SSL 新手,所以请多多包涵。

我在 WAMP 2.4.4 安装上创建了一个 Web 应用程序。在我尝试激活 SSL 并创建自签名证书之前,一切都运行良好。我很难找到在当前版本的 WAMP (2.4.4) 上安装自签名证书的说明,所以我不得不使用我能找到的东西。

一开始我无法生成自签名证书,但是当我按照这篇文章中的说明进行操作时,它起作用了:https://***.com/a/17718557/801483

我按照下面链接中的说明创建了一个自签名证书,据我所知,它有效。但是,将所有内容添加到 .conf 文件后,Apache 并没有重新启动。

    http://www.expertcore.org/viewtopic.php?t=1809 http://forum.wampserver.com/read.php?2,116588,116636 http://www.learnfromit.co/2013/02/steps-for-making-wamp-server-work-with.html

WAMP 服务器在默认 WAMP www 目录 (C:\wamp\www) 中设置为 localhost,但是我有一个单独的 URL 用于安装 Web 应用程序的子文件夹 (C:\wamp\www\webapp_directory )。我看不出这会如何影响 ssl 安装,但我想我应该提一下以防万一。

我还注意到说明说要在 httpd-ssl.conf 文件中找到 SSLMutex,但这在原始 httpd-ssl.conf 文件中不存在。我尝试输入推荐的行“SSLMutex default”和“Mutex default ssl-cache”,但没有一个有所作为。

下面是我使用自签名证书激活 SSL 后的 httpd-ssl.conf 文件。我用括号 [example] 内的描述性文本替换了敏感信息。

如果有任何帮助,我将不胜感激!

Listen [server IP]:443
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLPassPhraseDialog  builtin
SSLSessionCache "shmcb:c:/wamp/bin/apache/Apache2.4.4/ssl/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  300
<VirtualHost _default_:443>
    DocumentRoot "c:/wamp/www/[webapp directory]"
    ServerName localhost:443
    ServerAdmin admin@localhost
    ErrorLog "c:/wamp/bin/apache/Apache2.4.4/ssl/logs/ssl_error.log"
    TransferLog "c:/wamp/bin/apache/Apache2.4.4/ssl/logs/ssl_access.log"
    SSLEngine on
    SSLCertificateFile "c:/wamp/bin/apache/Apache2.4.4/ssl/[cert name].crt"
    SSLCertificateKeyFile "c:/wamp/bin/apache/Apache2.4.4/ssl/[key name].key"
    Mutex default ssl-cache
    <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory "c:/wamp/www/[webapp directory]">
        SSLOptions +StdEnvVars
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
    BrowserMatch "MSIE [2-5]" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0
    CustomLog "c:/wamp/logs/ssl_request.log" \
    "%t %h %SSL_PROTOCOLx %SSL_CIPHERx \"%r\" %b"
</VirtualHost>

【问题讨论】:

最好在serverfault.com.上询问, 没有重启怎么办?证书通常默认受密码保护,wamp 可能只是在等待输入密码以便解密证书。 重启 wamp 后 apache 错误日志或 ssl 错误日志中没有任何内容。 WAMP 图标保持橙色,我确认 mysql 服务已启动。我如何输入 wamp 的密码? 通常我不建议在 SSL 密钥上设置密码,因为它需要有特权的人在场才能从命令行手动重启 Apache 并输入密码。 我已验证 SSL 密钥上没有密码。 【参考方案1】:

我在发布此问题后不久解决了此问题,但忘记在此处更新。一旦我禁用 SSLMutex,自签名证书就可以完美运行。

【讨论】:

以上是关于为啥我无法获得与 Wamp 2.4.4 一起使用的自签名证书 (ssl)?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我无法在 wamp 服务器中访问 phpMyAdmin? [关闭]

为啥我的代码无法与墨西哥一起构建但与 cl 一起使用?

为啥将 %dopar% 与 foreach 一起使用导致 R 无法识别包?

为啥 http://localhost/ 不使用 WAMP 加载任何内容?

nmake 错误(尝试将 Python 与 WAMP 一起使用)

Wamp - 新安装后我无法登录 phpmyadmin #2002