【问题标题】:Is it possible to enable SSL with out a domain name or ip?是否可以在没有域名或 ip 的情况下启用 SSL?
【发布时间】:2020-07-10 14:39:36
【问题描述】:

我正在尝试为我的 nginx 服务器应用程序添加安全性。此服务器不会托管在任何特定域上,也不会有静态 IP。

我仍然可以选择 SSL 来为我的服务器启用安全性吗?如果不是,我的其他选择是什么?

我正在使用 openresty 作为我的 nginx docker 的基础镜像。

【问题讨论】:

  • 据我了解,SSL 不是一个选项,因为您需要域或静态 ip 才能将其与“通用名称”证书属性一起使用。如果您只需要保护您的服务器应用程序以供个人使用,您可以通过例如 SSH 隧道连接或尝试 VPN 之类的东西,但在这两种情况下,您必须在连接到服务器之前提供实际 IP。您可以使用 OpenResty 实现任何自定义的复杂安全系统,但任何开箱即用的浏览器都不支持它。

标签: ssl nginx openssl ssl-certificate openresty


【解决方案1】:

传统上,网站证书的主题是主机名。但是,如果您使用 Subject Alternative Name (SAN) 扩展,您可以更灵活地指定主题。例如,您可以使用电子邮件地址。有关详细信息,请参阅 "Illustrated X.509 Certificate" 中的“3.2. 主题备用名称”

“是否可以在没有域名或 ip 的情况下启用 SSL?” 的答案是肯定的,而且我认为 TLS (SSL) 是确保服务器安全的好选择之一.

【讨论】:

  • 非常感谢@Takahiko Kawasaki 花时间调查此案。对于我的服务,总是只有两个客户端,因此我的服务器不会面对用户。我的方法是使用自签名证书在我的客户端和 nginx 服务器之间建立安全的通信通道。所以从你的说法我相信这是可能的?
  • 是的,这是可能的。此外,如果您不想打扰,我认为您可以继续使用主机名作为主题。客户端应用程序检查整个证书的“指纹”是否与预期匹配就足够了(实际上绰绰有余),而不是检查证书主题的值。仅供参考:RFC 8705 第 2.2 节展示了如何为 OAuth 2.0 Client Authentication 使用自签名证书。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-10
  • 2019-03-31
  • 2014-10-18
  • 1970-01-01
  • 1970-01-01
  • 2011-01-03
  • 2014-06-16
相关资源
最近更新 更多