首页 > 解决方案 > 网站通过了 https ssl 认证,但端口不是?

问题描述

我为一个网站创建了一个证书,希望端口号也能得到认证。也许我不明白这是如何工作的,但我会准确地解释这个问题。

该网站名为https://xxxxx.com。当您访问它时,您确实会看到它是一个经过认证的网站。

该网站托管在 ec2 aws AMI 1 上。

该网站包含一个节点服务器,而不是激活时在端口 3002 上启动。

当我尝试访问https://xxxxx.com:3002时收到错误消息:

ERR_SSL_PROTOCOL_ERROR

我快要解决我的问题了。我最初什至无法为网站上传证书。我已经在这件事上待了将近一个星期。我肯定很接近。任何人都可以帮助我朝着正确的方向前进吗?

它与apache配置文件有关吗?

标签: apacheamazon-web-servicessslamazon-ec2

解决方案


ERR_SSL_PROTOCOL_ERROR

这意味着 nodejs 不会说 ssl。对错误的含义做出假设时要小心;在那条路上,许多人都在追逐野鹅。

我为一个网站创建了一个证书,希望端口号也能得到认证

端口不是 SSL 证书验证的一部分,句号。证书根据域名和证书颁发机构的有效性进行验证。无论端口如何,任何在该域名上访问的具有该证书的服务都将进行验证。

该网站包含一个节点服务器,而不是激活时在端口 3002 上启动。

通常这种设置让 Apache 在https://0.0.0.0:443上侦听 https,然后将适当的流量重定向到 NodeJS 侦听http://127.0.0.1:3002。您可能不希望 Node 服务器面向 Internet。但是如果你这样做了,并且 node 支持 TLS(看起来确实如此),你必须给 NodeJS 一个证书并告诉它说 HTTPS 而不是 HTTP。


推荐阅读