上周,我将我的“服务器” Windows 10 机器更新到 20H2,现在遇到了一个奇怪的问题。
我有各种在多个端口上运行的 Web 服务,例如 8081 和 6800。
当我通过端口 http://localhost:8081 访问服务时,它可以正常工作,我可以登录并使用该应用程序。不起作用的是http://192.168.10.2:8081,我明白了ERR_CONNECTION_REFUSED
。
当我重复该过程但对于端口 6800 时,它在 http://localhost:6800 和http://192.168.10.2:6800。
但是我已将此端口通过 NAT 转发到此机器,因此我无法从网络外部访问它。
为了这些测试,所有防火墙都被禁用。
我的IP配置:
Windows IP Configuration
Host Name . . . . . . . . . . . . : Server
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
Ethernet adapter Ethernet:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Realtek PCIe GbE Family Controller
Physical Address. . . . . . . . . : 1C-1B-0D-DF-20-02
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::a13b:4fad:1b90:e4df%3(Preferred)
Default Gateway . . . . . . . . . :
DHCPv6 IAID . . . . . . . . . . . : 102505229
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-25-6E-40-C8-1C-1B-0D-DF-20-02
DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%1
fec0:0:0:ffff::2%1
fec0:0:0:ffff::3%1
NetBIOS over Tcpip. . . . . . . . : Disabled
Ethernet adapter vEthernet (External Switch):
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Hyper-V Virtual Ethernet Adapter #2
Physical Address. . . . . . . . . : 1C-1B-0D-DF-20-02
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::5922:5cee:6e44:d343%10(Preferred)
IPv4 Address. . . . . . . . . . . : 192.168.10.2(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Lease Obtained. . . . . . . . . . : May 25, 2021 9:24:59 AM
Lease Expires . . . . . . . . . . : May 26, 2021 9:51:47 AM
Default Gateway . . . . . . . . . : 192.168.10.1
DHCP Server . . . . . . . . . . . : 192.168.10.1
DHCPv6 IAID . . . . . . . . . . . : 136059661
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-25-6E-40-C8-1C-1B-0D-DF-20-02
DNS Servers . . . . . . . . . . . : 192.168.10.1
NetBIOS over Tcpip. . . . . . . . : Enabled
Ethernet adapter vEthernet (Default Switch):
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Hyper-V Virtual Ethernet Adapter
Physical Address. . . . . . . . . : 00-15-5D-F4-E2-54
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::d094:8527:d9ae:4712%35(Preferred)
IPv4 Address. . . . . . . . . . . : 192.168.176.1(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.240.0
Default Gateway . . . . . . . . . :
DHCPv6 IAID . . . . . . . . . . . : 587208029
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-25-6E-40-C8-1C-1B-0D-DF-20-02
DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%1
fec0:0:0:ffff::2%1
fec0:0:0:ffff::3%1
NetBIOS over Tcpip. . . . . . . . : Enabled
当我检查谁在使用端口 6800 时:
PS C:\WINDOWS\system32> Get-Process -Id (Get-NetTCPConnection -LocalPort 6800).OwningProcess
Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName
------- ------ ----- ----- ------ -- -- -----------
0 0 60 8 0 0 Idle
693 103 305988 173284 18.64 9944 0 MyServiceName
但对于 8081 我得到:
PS C:\WINDOWS\system32> Get-Process -Id (Get-NetTCPConnection -LocalPort 8081).OwningProcess
Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName
------- ------ ----- ----- ------ -- -- -----------
4686 0 208 2864 86.67 4 0 System
因此,为了更深入地检查,netsh http show servicestate view=requestq
我得到了:
Request queue name: Request queue is unnamed.
Version: 2.0
State: Active
Request queue 503 verbosity level: Basic
Max requests: 1000
Number of active processes attached: 1
Process IDs:
14432
URL groups:
URL group ID: F300000040000002
State: Active
Request queue name: Request queue is unnamed.
Properties:
Max bandwidth: inherited
Max connections: inherited
Timeouts:
Timeout values inherited
Number of registered URLs: 1
Registered URLs:
HTTP://*:8081/
Server session ID: F200000020000002
Version: 2.0
State: Active
Properties:
Max bandwidth: 4294967295
Timeouts:
Entity body timeout (secs): 120
Drain entity body timeout (secs): 120
Request queue timeout (secs): 120
Idle connection timeout (secs): 120
Header wait timeout (secs): 120
Minimum send rate (bytes/sec): 150
进程 ID 14432 是正确的进程。
当我尝试时,http://[::1]:8081/
它也运行良好,当我尝试时http://[fe80::5922:5cee:6e44:d343]:8081
它也运行良好。
只是192.168.10.2:8081
不。
目前,我已经不知道该如何进一步排除故障了,但我认为 Hyper-V 和 ipv6 搞乱了一些东西
答案1
我在某处发现了一个非常古老的话题可以尝试netsh http add iplisten ipaddress=0.0.0.0
。
不知道为什么,但是确实有效。