amazon-web-services - 在 Amazon EC2 上运行的 Tomcat 在 AWS 之外无法访问
问题描述
已经找到了很多关于这个问题的答案,但似乎没有任何效果。
我有一个 WindowsEC2
实例,它在 port 上安装并运行了 tomcat 8 8080
。我已经部署了我的应用程序,我可以localhost:8080/myapp
通过连接到实例并在浏览器中启动 url 来访问它。
但是,当我尝试通过 aws 之外的家庭网络访问它时,应用程序无法连接。
我知道这是因为security group
设置,但我已经涵盖了。即使在我这样做之后
安全组 -> 入站 -> 编辑:
自定义 TCP 规则 : TCP: 8080 : Source Anywhere
问题仍然存在。甚至尝试添加规则,all traffic
但仍然没有运气。
另外,值得一提的是,我有一个Elastic IP
关联到我的实例。一直在尝试访问elastic.ip:8080/myapp
但无法连接。
我还能尝试什么?tomcat的有什么配置xml
吗?
解决方案
我会检查“wget”是否工作。如果是,则意味着 tomcat 服务器已启动并正在运行。
wget <hostname>:8080
此外,您家中的计算机可能有防火墙,阻止您检索端口 8080。您可以尝试从您的家用计算机远程登录到端口 8080 的服务器吗?
最后还要检查服务器上的 IPtables:-
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
推荐阅读
- c# - 部署更新 api 时如何解决错误请求的 400 错误
- sql - 在oracle sql中向现有json添加新的键值对
- android - 安装新应用时资产文件夹未升级
- kubernetes - kube-apiserver pod 停留在 CreateContainerError 状态
- python - 如何更正python中通过str.contains生成的输出
- angular - Angular Material cdk-virtual-scroll-viewport:如何每行渲染多个项目?
- java - Angular Service Worker 离线支持在部署在 tomcat 上时不起作用
- python - 如何在请求中传递 oauth 令牌而不指定 curl 中传递的客户端 ID?
- vb.net - 如何使用短文本作为数据类型来修复更新代码
- c# - 是否可以在调试期间在 Razor 类库中编辑 Razor 页面 (.cshtml) 而无需重新启动?VS 2017