Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 什么';ec2实例中的服务器返回https流量的最简单方法是什么?_Java_Linux_Amazon Web Services_Amazon Ec2_Https - Fatal编程技术网

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

Java 什么';ec2实例中的服务器返回https流量的最简单方法是什么?,java,linux,amazon-web-services,amazon-ec2,https,Java,Linux,Amazon Web Services,Amazon Ec2,Https,我有一个Springboot应用程序在EC2实例(ubuntu-bionic-18.04-amd64)中运行。程序运行时会在默认端口8080上返回JSON响应。 url看起来像http://ec2-3-17-69-122.us-east-2.compute.amazonaws.com:8080/users/rayyanshaji/todos/ 我需要完成的是https而不是http,以便我的前端UI接受传入的https流量 到目前为止,我所尝试的: 从AWS Route 53获得我自己的域名,使

我有一个Springboot应用程序在EC2实例(ubuntu-bionic-18.04-amd64)中运行。程序运行时会在默认端口8080上返回JSON响应。 url看起来像
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证书管理器)获得证书,并使用它在弹性负载平衡器中创建入站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握手都将在客户端和负载平衡器之间进行。在负载平衡器的下游,它只能通过http端口与您的ec2实例通信,这意味着无论请求是否来自负载平衡器上的http/HTTPs端口,它只能通过http端口转发到您的ec2实例


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

这是一个快速响应!我已经做了必要的事。我不能发布截图,因为我的名声不好。不幸的是,当我运行我的ELB的url时,我仍然收到502坏网关消息:我对我的ELB和EC2实例使用相同的安全组。看起来像这样。HTTP 80 HTTPS 443自定义TCP 8080 SSH 22所有流量此组应用于ec2和ELB。Rayyan,您可以使用AWS CLI以文本形式获取ELB配置。嘿我在运行aws cli命令aws elb DESCRIPE load AL均衡器TPSConnectionPool(host='elasticloadbalances.us east.amazonaws.com',port=443)时遇到此错误:url超过最大重试次数:/(由NewConnectionError引起(':未能建立新连接:[Errno-2]名称或服务未知'),我是否运行了正确的命令,或者我的实例没有被ELB正确定位?您可以尝试指定AWS区域来解决“名称或服务未知”错误。示例:aws elb描述了负载平衡器——地区us-east-1仍然无法工作。我得到了关于指定us-east-region-2的负载平衡器的信息。那不是我想要的,所以我把它删掉了。试过我们-东-1,2,3。没有任何效果。甚至在aws配置中将默认区域设置为us-east-2。它给我一个空的Json响应。如果你不介意的话,你能给我提供你的电子邮件或者我可以给你发图片的东西吗?