和这个问题一样的情况,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 中使用实例的公共(public) DNS)
- 我运行了 netstat 以确保该端口未被其他进程使用
任何关于检查或尝试的想法都是完全欢迎的;我的想法几乎用完了......
最佳答案
如果您在同一个端口上有多个 urlacl,例如喜欢:
$ netsh http show urlacl
Reserved URL : http://+:8080/
User: PUBEN\myself
Listen: Yes
Delegate: No
SDDL: D:(A;;GX;;;S-1-5-21-436374069-1547161642-1177238915-5114)
Reserved URL : http://192.168.47.120:8080/
User: \Everyone
Listen: Yes
Delegate: No
SDDL: D:(A;;GX;;;WD)
Reserved URL : http://127.0.0.1:8080/
User: \Everyone
Listen: Yes
Delegate: No
SDDL: D:(A;;GX;;;WD)
由于列表中的第一个预订,您将获得 ServiceUnavailable。要修复,
netsh http delete urlacl url=http://+:8080/
或者只使用 Suave.io并避免让您头疼。
关于c# - 第 2 轮 : HttpListener not receiving outside requests,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10393306/