客户端永远等待远程服务器到 return 网页
client is waiting forever for remote server to return a webpage
我有一个应用程序,它的服务器是用 F# 编写的,并使用 suave 提供 Web 文件。我使用 powershell 远程登录到网络中的另一台机器以 运行 应用程序(该应用程序也在其中一个网络驱动器中)。我这样做是因为该机器可以访问服务器所需的第三方 API。现在,当我执行 [IPAddress_Of_Remote_Machine]/[html_file]
或 [name_of_pc]/[html_file]
时,chrome 将永远等待并且永远不会 return 网页。这以前没有发生过,我最近 运行 遇到了这个问题。我打开了一个不同的端口并使用它而不是默认的 80。这使一切正常,但问题在几天后仍然出现。我不认为这是防火墙问题,但我不知道为什么会这样。
当运行ning netstat -an时,这是我得到的(我隐藏了IP地址):
如您所见,所有连接都处于 CLOSE_WAIT 或 ESTABLISHED 状态,但未处于 LISTENING 状态。所有这些 TCP 连接可能是因为我在应用程序中也有 PhantomJS 和其他两个 API 运行ning。然而环回地址也在同一个端口 5959 上打开:
我不确定这两者之间有什么区别,但是当使用 PortQryUI 查询远程服务器时,它 return 成功了!
我已经在服务器上为端口 5959 制定了入站规则,所以应该允许。网页卡在 Waiting for [name_of_pc]
。此外,有时这个问题会消失,一切正常。
这背后的潜在问题是什么?为什么会突然发生这种事?
更新:
我今天重新运行 应用程序,它工作正常。可能是防火墙内动态设置了某些东西?不太确定发生了什么。我正在 运行 连接服务器的机器上也有一堆应用程序 运行 正在它上面所以可能有一个外部进程正在影响它?
我用 Suave 制作了一个 hello world 应用程序并将其部署到网络驱动器上以测试它是否能正常工作。我为端口 6001 打开了入站规则
然后我 运行 应用程序:
但是,它仍然无法正常工作,这次它说当我这样做时无法访问该站点:http://[name_of_pc]:6001
。
将此移至答案以便关闭:
你能post你的 suave cfg 的绑定部分吗?我猜您知道那是哪里,因为您使用的是非标准端口,但如果不需要,请搜索 HttpBinding。我怀疑您会发现它指向 127.0.0.1,这对于远程访问来说不够好。您可以尝试将其更改为 0.0.0.0 或服务器的实际 IP 地址。我会先尝试 0.0.0.0,因为它提供的灵活性
我有一个应用程序,它的服务器是用 F# 编写的,并使用 suave 提供 Web 文件。我使用 powershell 远程登录到网络中的另一台机器以 运行 应用程序(该应用程序也在其中一个网络驱动器中)。我这样做是因为该机器可以访问服务器所需的第三方 API。现在,当我执行 [IPAddress_Of_Remote_Machine]/[html_file]
或 [name_of_pc]/[html_file]
时,chrome 将永远等待并且永远不会 return 网页。这以前没有发生过,我最近 运行 遇到了这个问题。我打开了一个不同的端口并使用它而不是默认的 80。这使一切正常,但问题在几天后仍然出现。我不认为这是防火墙问题,但我不知道为什么会这样。
当运行ning netstat -an时,这是我得到的(我隐藏了IP地址):
如您所见,所有连接都处于 CLOSE_WAIT 或 ESTABLISHED 状态,但未处于 LISTENING 状态。所有这些 TCP 连接可能是因为我在应用程序中也有 PhantomJS 和其他两个 API 运行ning。然而环回地址也在同一个端口 5959 上打开:
我不确定这两者之间有什么区别,但是当使用 PortQryUI 查询远程服务器时,它 return 成功了!
我已经在服务器上为端口 5959 制定了入站规则,所以应该允许。网页卡在 Waiting for [name_of_pc]
。此外,有时这个问题会消失,一切正常。
这背后的潜在问题是什么?为什么会突然发生这种事?
更新:
我今天重新运行 应用程序,它工作正常。可能是防火墙内动态设置了某些东西?不太确定发生了什么。我正在 运行 连接服务器的机器上也有一堆应用程序 运行 正在它上面所以可能有一个外部进程正在影响它?
我用 Suave 制作了一个 hello world 应用程序并将其部署到网络驱动器上以测试它是否能正常工作。我为端口 6001 打开了入站规则
然后我 运行 应用程序:
但是,它仍然无法正常工作,这次它说当我这样做时无法访问该站点:http://[name_of_pc]:6001
。
将此移至答案以便关闭:
你能post你的 suave cfg 的绑定部分吗?我猜您知道那是哪里,因为您使用的是非标准端口,但如果不需要,请搜索 HttpBinding。我怀疑您会发现它指向 127.0.0.1,这对于远程访问来说不够好。您可以尝试将其更改为 0.0.0.0 或服务器的实际 IP 地址。我会先尝试 0.0.0.0,因为它提供的灵活性