【问题标题】:Will Apache accept SSL (Port 443) requests without an installed cert?Apache 会在没有安装证书的情况下接受 SSL(端口 443)请求吗?
【发布时间】:2012-06-19 18:00:28
【问题描述】:

一位顾问最近告诉我,他有使用 IIS 的客户。这些服务器接受端口 443 请求,但系统上没有安装证书。我无法验证这一点,而且我们的服务器仍然运行 Apache。

我相信 Apache 会拒绝接受安全流量,或者至少,Apache 会在没有安装证书的情况下大声喧哗。

Apache 会在没有证书的情况下路由端口 443 请求吗?

我们在 CentOS 5 上运行 2.2.3。

谢谢。

【问题讨论】:

  • 不确定该顾问使用的是哪个版本,但使用 IIS 7.5,您不能在不选择证书的情况下添加 HTTPS 绑定(该对话框根本不允许您单击“确定”)。您还需要一个证书(及其指纹)才能通过netsh 启用此功能。某些版本的 IIS Express 似乎能够半自动生成用于开发的自签名证书。

标签: apache iis ssl


【解决方案1】:

如果您尝试在 Apache Httpd 上启用 SSL (SSLEngine on) 而不配置证书(及其私钥),您将收到此错误,并且它不会监听该端口(443,除非您已经配置了另一个):

[错误] 服务器应该支持 SSL,但没有配置证书 [提示:SSLCertificateFile]

如果您不能依赖知名 CA,此证书可以自签名或由您自己的 CA 颁发(尽管这不切实际,因为您必须独立分发您的证书)。

原则上,SSL/TLS 并不严格需要 X.509 证书,但 HTTPS 或多或少需要这样的证书。更多详情请见this answer

【讨论】:

  • 其实你是对的,apache 默认会使用安装包创建证书。
  • @Joe 一些发行版确实做到了。
【解决方案2】:

apache的默认安装会安装一个不受信任的ssl证书,你可以使用,但是当你尝试连接它时浏览器会报错。

不过,一般来说,如果您需要使用 SSL,那么您应该投资购买证书。

【讨论】:

  • 谢谢。我站得更正了。我不想吐出错误的东西。我不会设置一个盒子来接受没有证书的 443 个请求,因为这完全是错误的。再次感谢。
  • 不,我可能永远不会尝试。内部(防火墙内部)使用是一回事,但在这种情况下,我们使用非端口 80、非安全请求。对于 443,我总是安装证书,或者至少在我将站点暴露在防火墙之外之前。出现了这个问题,因为我在陈述我认为的事实,即 Apache 没有证书就无法工作。我错了。
  • 我实际上错了 octo,我没有在服务器上设置证书我测试了这个来验证它并且不知道有一个默认证书安装了 apache。它已经这样做了很长时间,它安装了 localhost.crt 和 localhost.key 并启用了 ssl。它仍然会抱怨,因为它是不受信任的,并且应该遵循相同的一般规则,即如果您需要 ssl,您应该使用真正的证书。
  • @octopusgrabbus 当我说“你没有尝试过”时,我是在回复 Joe,如果不清楚,抱歉。无论如何,他从那以后更正了他的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-24
  • 1970-01-01
  • 2020-10-12
  • 2019-04-25
  • 2012-05-02
  • 2018-09-07
相关资源
最近更新 更多