第二轮:HttpListener没有收到外部请求

use*_*279 1 c# amazon-ec2 httplistener windows-server-2008-r2 http.sys

与此问题相同的情况是,HttpListener没有收到远程请求,即使防火墙已关闭且所有前缀都已注册,即:

  • HttpListener只接收来自同一台机器的请求
  • 应用程序在Windows EC2实例上运行(与其他问题相同的规范)
  • 正在使用的端口已在防火墙中注册并打开(我还暂时取下防火墙以确保不是问题)
  • 我正在使用的前缀是http://*:8080 /

与其他问题的区别:

  • EC2的安全组已正确配置
  • 它接受了外部请求,直到(据我所知)今天并且我不知道任何系统更改(但我对所有想法都持开放态度,无论如何)

附加信息:

  • EC2实例和系统正在通过所有状态检查
  • 我重新启动了实例; 没变
  • 发送回(不是从我的服务器应用程序,从系统)到远程客户端的http状态代码是503(服务不可用)
  • 我检查并重新检查了网址是否正确(我有一个弹性IP地址,并使用网址中实例的公共DNS)
  • 我运行netstat以确保其他进程没有使用该端口

任何想检查或尝试的想法都是受欢迎的; 我几乎没有想法......

Hen*_*rik 7

如果在同一端口上有多个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)
Run Code Online (Sandbox Code Playgroud)

由于列表中的第一个预订,您将获得ServiceUnavailable.修理,

netsh http delete urlacl url=http://+:8080/
Run Code Online (Sandbox Code Playgroud)

或者只是使用Suave.io并避免头痛.