簡體   English   中英

第二回合:HttpListener沒有收到外部請求

[英]Round #2: HttpListener not receiving outside requests

與該問題相同的情況,即使防火牆關閉且所有前綴均已注冊HttpListener也不會接收到遠程請求 ,即:

  • HttpListener僅接收來自同一台計算機的請求
  • 該應用程序在Windows EC2實例上運行(與另一個問題相同的規格)
  • 已使用的端口已在防火牆中注冊並打開(我還臨時關閉了防火牆,以確保不是問題所在)
  • 我使用的前綴是http:// *:8080 /

與另一個問題的區別:

  • EC2的安全組已正確配置
  • 直到今天(據我所知),它一直在接受外界的請求,我不知道任何系統更改(但是我對所有想法持開放態度)

附加信息:

  • EC2實例和系統正在通過所有狀態檢查
  • 我重啟了實例; 沒變
  • 發送回(不是從我的服務器應用程序,不是從系統)到遠程客戶端的http狀態代碼是503(服務不可用)
  • 我檢查並重新檢查了網址是否正確(我有一個彈性IP地址,並且正在使用該網址中實例的公共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即可省去頭痛。

一些想法,您可能已經檢查過:

  • 確保您仍可以在計算機上本地訪問偵聽器-只是為了排除代碼iteself的錯誤

  • 確保該計算機上的該端口上沒有其他任何運行

  • 檢查事件查看器-那里可能存在任何錯誤? 其他活動? 最近的Windows更新-什么?

  • 嘗試其他端口-要排除端口沖突,請嘗試其他端口

  • 確保綁定到前綴:http:// *:{your-port-#-here} /-同樣,當您調用HttpListener時,如果您在注冊的前綴中包含斜杠,則它可能非常具體。確保在通話中包含該信息,等等。

  • 當您嘗試訪問計算機時-您使用的地址是:EC2彈性IP地址,EC2公共dns,已路由到該計算機的某些DNS名稱? 我已經看到EC2機器在重啟后更改了公共IP / DNS,也許您的計算機已經更改了?

這就是我現在能想到的。 祝好運。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM