无法通过PHP中的fsockopen访问ec2实例,指向我的ec2公共IP和指定端口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法通过PHP中的fsockopen访问ec2实例,指向我的ec2公共IP和指定端口相关的知识,希望对你有一定的参考价值。

在其他任何事情之前,我已经阅读了大约30多个StackOverflow答案,但它们似乎都没有解决我这个问题的特殊风格。下面我列出了我已经尝试过的所有答案,然后再征求更多建议。

我试图通过fsockopen从不同的机器通过php插件访问我的ec2实例,指向我的ec2公共IP(我有一个弹性固定IP地址54.68.166.28)和指定端口。

行为:我可以直接在浏览器上通过公共IP访问实例内部运行的实例和ChatScript应用程序。但是,如果我在外部机器上运行与我的实例的IP地址完全相同的套接字调用完全相同的网页(双重检查它是正确的)我在端口1024上连接时得到500内部服务器错误(对于我的自定义TCP连接),端口443(HTTPS)上的另外500。在端口80(HTTP)上它挂起20秒以上然后给我状态200成功,除了它没有正确连接到应用程序并且没有任何响应。

故障排除:我已设置安全组规则以从任何地方接受传入的TCP:HTTP(80)TCP 80 0.0.0.0/0 HTTP(80)TCP 80 :: / 0 HTTPS(443)TCP 443 0.0.0.0/0 HTTPS (443)TCP 443 :: / 0自定义(1024)TCP 1024 0.0.0.0/0自定义(1024)TCP 1024 :: / 0

出站规则跨越端口范围0 - 65535,目标为0.0.0.0/0,因此应该工作。

我每次都没有问题进入端口22的实例.SCP工作正常。检查$ sudo服务httpd状态:运行,这就是为什么我的UI显示那里很好。检查$ sudo / sbin / iptables -L并且我的所有策略都设置为ACCEPT,没有规则检查$ netstat --listen -p和我定位的应用程序正在侦听端口0.0.0.0.0:1024。已检查的网络实用程序和端口80和1024已注册为已打开。 443端口不是。 Pinging对其中任何一个都不起作用,100%丢包。

检查我的实例与具有所有权限的安全组相关联 - 它是。知识产权显然是正确的,或者我既不能ssh也不能提供网页......我可以。

我停下来重新启动了实例。

我替换了实例。

我认为这是在寻求帮助之前尽职尽责......现在我需要它!

答案

我意识到我的配置是正确的:问题是我用于GUI的托管域,如大多数托管域,不打开自定义端口,因此tcp不起作用。

以上是关于无法通过PHP中的fsockopen访问ec2实例,指向我的ec2公共IP和指定端口的主要内容,如果未能解决你的问题,请参考以下文章

ssh 隧道/端口转发无法通过 EC2 实例工作到 VPC 中的 Elasticsearch 集群

无法通过公共 ip 访问 EC2 实例上的站点

AWS EC2 Windows实例无法通过公共IP访问

无法通过私有 IP 从另一个实例访问 AWS EC2 实例

无法访问 AWS ECS EC2 实例中的端口

ec2 实例无法在没有弹性 IP 地址的情况下访问公共子网中的互联网?