为 AWS ec2 机器上托管的 API 实施 HTTPS 的最佳方式

Best way to implement HTTPS for API hosted on AWS ec2 machine


首先,我绝不是安全或网络方面的专家,所以任何建议将不胜感激。

我正在开发一个 IOS 应用程序,它与托管在 AWS EC2 linux 机器上的 API 进行通信。
API 使用 **FastAPI + Docker** 部署。
目前,我可以使用对我服务器 public IP 地址的 HTTP 请求与我的远程 API 通信(在为 TCP 打开端口 80 之后)并在客户端和我的服务器之间传输数据。

我的应用程序的一个功能需要从客户端向服务器发送私有 cookie。
由于拥有 cookie 允许潜在的攻击者代表客户端发出请求,因此我打算使用 HTTPS 安全地传输 cookie。

我有几个问题:

  1. 为我的服务器实施 HTTPS 会解决我的安全问题吗?这是正确的做法吗?
  2. 有关为服务器实现 TLS 的 FastAPI "Deploy with Docker" docs recommend this 文章(使用 Docker Swarm Mode 和 Traefik)。
    该指南与我的用例相关吗?
  3. 在那篇文章中,它说 Define a server name using a subdomain of a domain you own
    真的需要拥有一个域来实施 HTTPS 吗?我不能一直使用服务器的 IP 地址与其通信吗?

谢谢!

Will implementing HTTPS for my server solve my security issue? Is that the right approach?

使用 HTTP,您的客户端和 ec2 之间的所有流量都是纯文本。使用 HTTPS 时,流量是加密的,因此是安全的。

FastAPI "Deploy with Docker"

遗憾的是无法对文章发表评论。

Do I really need to own a domain to implement HTTPS?

是的。只能为您拥有的域注册 SSL 证书。您无法获得不属于您的域的证书。