我通过取消注释在 Apache 服务器(2.2.15)Windows 7 Enterprise 上启用了 HTTPS:
包括 /private/etc/apache2/extra/httpd-ssl.conf
在 C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf\httpd.conf 中并修改 C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf\httpd-ssl.conf 以包含:
DocumentRoot“C:/Program Files (x86)/Apache 软件基金会/Apache2.2/htdocs”
服务器名称 myserver.com:443
服务器管理员[电子邮件保护] ...
SSLCertificateFile "SSLCertificateFile "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/conf/cert.pem
SSLCertificateKeyFile "SSLCertificateFile "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/conf/key.pem"
然后我重新启动 apache(转到开始->所有程序->Apache Server 2.2->控制->重新启动)并转到 Firefox 中的端口 443 上的本地主机,在那里我得到:
<<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<title>Index of /</title>
</head>
<body>
<h1>Index of /</h1>
<ul><li><a href="MyPageLinks/"> Links/</a></li>
.....
....
</ul>
</body></html>
但在网页显示中我看到:无法连接
Firefox 无法与 localhost 上的服务器建立连接。 *该网站可能暂时不可用或太忙。请稍后重试。 *如果您无法加载任何页面,请检查计算机的网络连接。 *如果您的计算机或网络受防火墙或代理保护,请确保 Firefox 被允许访问 Web。
我读到:为什么在 Mac OS X 上为 Apache 启用 HTTPS 后会出现 403 Forbidden?并添加了默认 Web 服务器配置块以匹配我的 DocumentRoot
错误日志 C:\Program Files (x86)\Apache Software Foundation\Apache2.2\logs\error.log 给出以下错误:Apache2.2 服务正在运行。 (OS 5)访问被拒绝。: Init: 无法打开服务器证书文件 C:/Program Files (x86)/Apache Software Foundation/Apache2.2/conf/cert.pem
我检查了 cert.pem 的权限,它表明:所有权限(完全控制、读取、读取和修改、执行、写入)都标记为管理员,并且我当前以管理员身份登录。
我尝试在同一台服务器上使用 oldcert.pem 和 oldkey.pem,并且运行良好。
我是否遗漏了什么?
答案1
我使用的证书启用了“加密内容以保护数据”属性。因此 Apache 无法读取内容。
我通过右键单击 -> 属性 -> 高级并删除“加密内容以保护数据”复选框来禁用该属性