我有一个用F#编写的服务器的应用程序,并使用和蔼的服务web文件。我使用PowerShell远程登录到网络中的另一台机器上运行应用程序(该应用程序也位于其中一个网络驱动器中)。我这样做是因为该机器可以访问服务器所需的第三方API。现在,当我做[IPAddress_Of_Remote_Machine]/[html_file]
或[name_of_pc]/[html_file]
然后铬是永远等待,不会返回网页。这并没有发生,我最近遇到了这个问题。我打开了一个不同的端口,并使用它来代替默认的端口80.这使事情发挥作用,但问题在几天后不断出现。我不认为这是一个防火墙问题,但我无能为力,为什么会发生这种情况。客户端永远在等待远程服务器返回一个网页
当运行netstat的-an,这是我得到什么(我躲在IP地址):
正如你可以看到所有的连接或者处于CLOSE_WAIT或建立,但不听。所有这些TCP连接可能是因为我有PhantomJS和另外两个在应用程序中运行的API。但是,回送地址也在同一个端口5959上打开:
我不确定这两者之间有什么区别,但是当使用PortQryUI查询远程服务器时,它会返回成功!
我已经在服务器上进行端口5959的入站规则,因此应该被允许。该网页停留在等待[name_of_pc]
。此外,有时这个问题会消失,一切正常。
这背后的潜在问题是什么?为什么会突然发生这种情况?
UPDATE:
我重新运行该应用程序今天,它的正常工作。这可能是在防火墙内动态设置的东西?不确定发生了什么事。我正在运行服务器的机器上也运行着一堆应用程序,所以也许有一个影响它的外部进程?
我用Suave制作了一个hello world应用程序,并将其部署在网络驱动器上以测试它是否可行。我打开入站规则端口6001
但是,它仍然没有工作,这个时候它说当我做网站无法达到:http://[name_of_pc]:6001
。
0。0.0.0不是回送地址。 0.0.0.0表示'该系统上的任何IP地址'。大多数服务在0.0.0.0:port#上进行侦听,以便在多个IP地址分配给适配器或通过多个适配器的情况下,您不必手动选择实际希望侦听的IP地址。因为你正在得到一个portqry响应,我将托管一个helloworld网站并尝试用'invoke-webrequest'或浏览器下载它并发布结果。 –
@TySavercool奇怪的是,我今天重新运行它,它正确地检索网页。 – Kafo
@TySavercool我更新了我的问题。我的应用程序工作,但helloWorld没有。 – Kafo