我正在使用 Nginx 设置我的个人 VPS,并且正在阅读有关如何保护服务的信息。但关于证书和管理 HTTPS,有一件事我有点不清楚:
如果我从某个第三方提供商处购买域名(www.example.com),然后将域名配置为指向由无关方提供的 VPS 的 IP,那么谁来管理证书?
我是否应该在 VPS 和 Nginx 配置上进行所有处理(证书、TLS 配置、https 监听等),还是所有这些都由域名提供商管理?或者有些事情由域名提供商处理,有些事情由我的 Nginx 配置处理?
答案1
您将执行您所询问的处理。
以下是全貌的概览。
您向证书颁发机构(您称之为 DNS 提供商)提供其所有要求。这可能包括付款和身份证明。
他们会向您提供一份证书,表明他们是颁发机构。
然后,您配置 Web 服务器以使用该证书。
当有人使用 HTTPS 访问您的页面时,“HTTPS”中的“S”代表“安全”。在过去,人们比较安全地认为 S 代表 SSL,因为 HTTPS 的实现方式是使用 HTTP 而不是 SSL。如今,TLS 是现代实现,通常会代替旧版 SSL。
当 Web 客户端(通常称为“Web 浏览器”)使用 TLS(或 SSL)时,它会从 Web 服务器获取证书。(这将是自动生成的证书,在某些方面与您从证书颁发机构获得的证书不同。)然后,Web 客户端会检查证书是否受信任。Web 浏览器收到的证书将包含您的证书和证书颁发机构的痕迹。Web 浏览器可以判断证书是在该证书颁发机构的支持下制作的。
Web 客户端查看其自己的“证书存储”,该存储通常仅随 Web 浏览器和/或操作系统提供。由于您从商业渠道购买的证书可能指向一个得到认可和广泛信任的证书颁发机构,因此 Web 客户端认为 Web 服务器是值得信任的。
确保在获得您付费购买的证书后,不要将其提供给任何其他人。(通常我会建议不要与任何人共享证书,除非您必须信任的人,例如运行您正在使用的 Web 服务器的公司。但由于您正在运行自己的 Web 服务器,因此该例外可能不适用。但是,如果您的“虚拟专用服务器”(“VPS”)未加密,则您的 VPS 主机可能可以访问数据。)如果任何不值得信任的人获得该证书的副本,那么他们可能会被信任为您。换句话说,这样的小偷可以有效地窃取您的身份。因此,不要公开发布您付费购买的证书。
您可以与 DNS 提供商一起做的一件事是设置 DNS 资源记录。在许多情况下,您会与他们一起设置 AAAA 和/或 A 记录。就我个人而言,我倾向于只与 DNS 提供商一起设置 NS 记录,并自己托管 AAAA 和/或 A 记录。您的 DNS 提供商不必与提供证书的机构是同一组织。(如果使用“Let's Encrypt”作为您的证书颁发机构,我希望它们是不同的组织。)
答案2
如果我从某个第三方提供商处购买域名(www.example.com),然后将域名配置为指向由无关方提供的 VPS 的 IP,那么谁来管理证书?
管理 VPS 的人将负责管理此内容。域名注册商(域名提供商)从技术上讲仅处理与您的 VPS 相关的 IP 地址和域名条目。
我是否应该在 VPS 和 Nginx 配置上进行所有处理(证书、TLS 配置、https 监听等),还是所有这些都由域名提供商管理?或者有些事情由域名提供商处理,有些事情由我的 Nginx 配置处理?
证书、TLS、https 等都是您在使用 Nginx 等在服务器上配置的内容。域名提供商在这方面没有任何作用。