Syed Emon Asked: 2024-05-13 15:13:28 +0800 CST2024-05-13 15:13:28 +0800 CST 2024-05-13 15:13:28 +0800 CST 使用 IP 地址 SSL 的问题 772 Mongod 数据库与 Nginx。 连接到数据库时出现此错误。 http://212.38.94.32:3001/api/ “此请求已被阻止;内容必须通过 HTTPS 提供”。 我有一个由该 IP 加密的域 SSL。 此错误的解决方案是什么?如何使用 SSL 连接到我的特定 IP? ubuntu 2 个回答 Voted Best Answer Nikita Kipriyanov 2024-05-14T13:35:27+08:002024-05-14T13:35:27+08:00 http://212.38.94.32:3001/api/ “此请求已被阻止;内容必须通过 HTTPS 提供”。 难道你没有看到差异吗?我这样做:您正在尝试使用http://非HTTPS进行连接。使用https://URL 方案。 我有一个由该 IP 加密的域 SSL。 这是没有意义的。我非常怀疑您是否拥有对 IP 有效的SSL 证书(这是可能的,但非常罕见,而且我从未见过由公共 CA 签署的此类证书)。subjectAltName为了使 SSL 证书验证发挥作用,您必须使用服务器的主机名(也必须在归档的 SSL 证书中提及),而不是文字 IP 地址。因此,您的连接 URL 必须采用以下形式: https://yourserver.example.org:3001/api/ 并且证书必须对yourserver.example.org或*.example.org(通配符)有效。这样的证书可以很容易地从 Let's Encrypt 或 ZeroSSL 获得。 Marcel 2024-05-13T15:24:54+08:002024-05-13T15:24:54+08:00 如果您已遵循相关文档并已使用 构建 mongod --ssl,以及如何在集群集中加载可能免费的 Let's Encrypt SSL 证书,那么您现在只需要在连接字符串中要求 SSL。 但我个人绝不会在互联网上公开 MongoDB。我将使用 RESTful API 来查询集合,并将 SSL 证书放在 API 上,而不是放在集群集上。 祝你好运!
难道你没有看到差异吗?我这样做:您正在尝试使用
http://
非HTTPS进行连接。使用https://
URL 方案。这是没有意义的。我非常怀疑您是否拥有对 IP 有效的SSL 证书(这是可能的,但非常罕见,而且我从未见过由公共 CA 签署的此类证书)。
subjectAltName
为了使 SSL 证书验证发挥作用,您必须使用服务器的主机名(也必须在归档的 SSL 证书中提及),而不是文字 IP 地址。因此,您的连接 URL 必须采用以下形式:并且证书必须对
yourserver.example.org
或*.example.org
(通配符)有效。这样的证书可以很容易地从 Let's Encrypt 或 ZeroSSL 获得。如果您已遵循相关文档并已使用 构建 mongod
--ssl
,以及如何在集群集中加载可能免费的 Let's Encrypt SSL 证书,那么您现在只需要在连接字符串中要求 SSL。但我个人绝不会在互联网上公开 MongoDB。我将使用 RESTful API 来查询集合,并将 SSL 证书放在 API 上,而不是放在集群集上。
祝你好运!