gpt4 book ai didi

java - 如何配置 aws-ec2 实例来运行 playframework 1.2.7 应用程序

转载 作者:行者123 更新时间:2023-11-30 07:11:23 25 4
gpt4 key购买 nike

我已将 playframework 1.2.7 Web 应用程序部署到 aws-ec2 ubuntu 实例。由于 80 或 8080 提示无法绑定(bind)到这些端口,因此在端口 8081 上启动了应用程序。如何通过 aws 安全组或在 ubuntu 本身上配置 ubuntu 实例,这样我就不必将端口 8081 添加到公共(public) url 或 aws 提供的公共(public) IP 的末尾。即我不想这样做:

example.com:8081 / ip4:8081

但我只想使用:

example.com / ip4

访问应用程序。请我在这方面需要帮助。

最佳答案

问题在于 Ubuntu 端口 < 1024 具有特权。这意味着普通用户无法对其进行任何操作。要在端口 80 上开始游戏,您只需以 root 用户身份启动即可。 无论如何,由于可能存在安全问题,以 root 身份启动网络服务器并不是最佳实践。

我建议以普通用户的身份在您想要的任何非特权端口上启动它,并利用弹性负载均衡器 (ELB) 重定向端口 80(或 443)上的所有入站流量)到您的 Play 端口。您可以在创建 ELB 时简单地使用 AWS Web 界面来完成此任务

因此,用户将使用 Amazon 自动分配的 DNS 名称在端口 80 上调用 ELB 来访问您的 Play 实例。

示例流程:用户浏览器 --> http://your-elb-dns-name.com --> your_play_server_ip:8081

只需确保与您的 Play 服务器实例关联的安全组将接受来自您的 ELB 的 8081 入站流量(您可以使用创建期间分配的亚马逊 ID 来识别您的 ELB)

使用此 ELB 方法的另一个巨大优势是,您可以将其用作反向代理以向互联网隐藏您的 ec2 实例 IP。事实上,如果您使用 ELB,您还可以避免在创建过程中为您的 ec2 实例分配公共(public) IP。 ELB 不需要知道公共(public) IP,因为它可以访问启动您的 ec2 实例的虚拟私有(private)云 (VPC)

如果您不想使用 ELB,另一种可能的方法是在您的 ec2 实例上安装 NGINx 或 Apache 以充当反向代理,但我认为您应该使用 Amazon Web 服务来完成此任务。如果您需要向互联网隐藏 Play 服务器的特定资源,您可能需要使用内部 NGINX 或 Apache 反向代理。

https://aws.amazon.com/it/elasticloadbalancing/

关于java - 如何配置 aws-ec2 实例来运行 playframework 1.2.7 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39188601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com