【发布时间】:2012-05-10 17:17:48
【问题描述】:
与本题HttpListener not receiving remote requests, even with the firewall down and all prefixes registered相同的情况,即:
- HttpListener 只接收来自同一台机器的请求
- 应用程序在 Windows EC2 实例上运行(与其他问题的规格相同)
- 正在使用的端口已在防火墙中注册并打开(我还暂时关闭了防火墙以确保不是问题)
- 我使用的前缀是 http://*:8080/
与其他问题的区别:
- EC2 的安全组配置正确
- 它一直在接受外部请求,直到(据我所知)今天,我不知道有任何系统更改(但我对所有想法持开放态度)
附加信息:
- EC2 实例和系统正在通过所有状态检查
- 我重启了实例;没有变化
- 发回(不是从我的服务器应用程序,从系统)到远程客户端的 http 状态代码是 503(服务不可用)
- 我已经检查并重新检查了 url 是否正确(我有一个弹性 IP 地址,并且在 url 中使用实例的公共 DNS)
- 我运行了 netstat 以确保该端口没有被其他进程使用
完全欢迎任何关于检查或尝试的想法;我的想法已经用完了......
【问题讨论】:
-
你能发布一些代码吗?您有可能只在内部接口上监听 (
localhost),因此无法通过远程请求。 -
很遗憾,由于保密协议,我无法发布代码,但它正在监听 http://*:8080/ - 这是您建议我检查的内容还是其他内容?
-
如果它响应本地请求而不响应远程请求,那么问题可能出在防火墙或其他安全设备上,而不是
HttpListener。 -
打开了相应的防火墙端口;为了验证这不是防火墙问题,我将其关闭 - 没有变化。此外,EC2 安全组也已正确配置(我也已检查并重新检查)。
标签: c# amazon-ec2 windows-server-2008-r2 httplistener http.sys