我遇到了一个安全问题。
我在 amazon Route53 上注册了我的域,但实际的服务器根本不在 Amazon 上托管。相反,它由第 3 方托管,并且在此实例上仅打开 2 个端口:端口 22(用于 SSH)和端口 1337(用于 websockets)。
应用程序运行良好,但我现在需要为此服务器启用 HTTPS。
过去,我使用 AWS 负载均衡器在特定 EC2 实例上将 HTTPS 转发到 HTTP,效果很好,无需为特定实例实际创建证书。
不幸的是,我的印象是我现在不能使用这种方法,因为服务器托管在其他地方,而负载均衡器仅适用于 AWS 实例。
相比之下,我确实配置了一条记录,将主机名重定向到服务器的 IP 地址,效果很好。
我决定自己制作证书。但是,默认情况下,我的自签名证书似乎被 chrome 阻止。因此,我尝试使用 CA。我用 LetsEncrypt 试过这个,但是没有成功。问题是 LetsEncrypt 想要在安装过程中验证主机名,而且它似乎只能在端口 80 上执行此操作,而我没有可用的端口。
有任何想法吗 ?
我读到 LetsEncrypt 想让我创建一个
TXT
记录。我很愚蠢地认为他们要我在我的公共文件夹的根目录中创建一个 TXT 文件。真的要感谢 Michael Hampton,他用两个简单的词为我指明了正确的方向:“DNS 验证”结果:
编辑:
在接下来的几年里,我发现维护这些证书是多么困难,因为它们依赖于手动任务(即添加 TXT 记录)。而且我必须编写自己的一组脚本来更新这些 TXT 记录,这并不容易。