繁体   English   中英

ec2 实例中的服务器返回 https 流量的最简单方法是什么?

[英]What's the easiest way for server in ec2 instance return https traffic?

我有一个在 EC2 实例(ubuntu-bionic-18.04-amd64)中运行的 Springboot 应用程序。 The program when run returns JSON responses on the default port 8080. The url looks like http://ec2-3-17-69-122.us-east-2.compute.amazonaws.com:8080/users/rayyanshaji/todos/

我需要完成的是 https 而不是 http 以便我的前端 UI 接受传入的 https 流量。

到目前为止我所尝试的:从 AWS Route 53 获得我自己的域名,使用 ACM(Amazon Certificate Manager)获得证书,并使用它在弹性负载均衡器中创建入站 HTTPS 443 侦听器。 添加了允许端口 80 和端口 443 上的入站流量的安全组。

我知道上述步骤行不通,因为这是我在运行netstat -tulpn命令时得到的

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      -
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -
tcp6       0      0 :::22                   :::*                    LISTEN      -
udp        0      0 127.0.0.53:53           0.0.0.0:*                           -
udp        0      0 172.31.39.227:68        0.0.0.0:*                           -

似乎我的服务器未配置为接受 https 请求或发出 https 响应。

我现在很困在这里,因为我不是使用 linux 的专家。 我刚刚开始学习 EC2 实例上的部署。 我在解决方案上搜索了很多,但在 Java 上几乎找不到任何东西。

我真的需要解决这个障碍,这样我才能恢复我的项目的开发。 任何建议将不胜感激。 提前致谢。

您走在正确的道路上,很明显您能够使用 HTTPs 侦听器和 ACM 证书配置负载均衡器。

首先我必须告诉你,你的实际 ec2 实例不需要谈论 HTTPS,因为这将由负载均衡器处理。 负载均衡器将充当所有传入连接的 SSL 终结器。 因此,所有 SSL 握手都将在客户端和负载均衡器之间进行。 在负载均衡器的下游,它只能与您的 ec2 实例与 http 端口通信,这意味着请求是否来自负载均衡器上的 HTTP/HTTPS 端口,它只能转发到您的 EC2 实例在 HTTP 端口上。

因此,只需将您的负载均衡器目标组配置为在不同的 HTTP/HTTPS 端口上接收输入请求,并在单个 HTTP 端口上转发到您的 EC2 实例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM