如何防止WCF服务注册非127.0.0.1地址?

如何防止WCF服务注册非127.0.0.1地址?,wcf,localhost,Wcf,Localhost,注册WCF服务时,我得到 HTTP could not register URL http://+:8080/ because TCP port 8080 is being used by another application 查看使用过的端口 netstat -an | grep 8080 我可以看到使用了TCP 127.0.0.2:8080(我使用ssh从127.0.0.2:8080隧道到远程服务) 可能WCF服务不仅尝试在127.0.0.1和网络IP上注册,还尝试在127.0.0.2

注册WCF服务时,我得到

HTTP could not register URL http://+:8080/ because TCP port 8080 is being used by another application
查看使用过的端口

netstat -an | grep 8080
我可以看到使用了TCP 127.0.0.2:8080(我使用ssh从127.0.0.2:8080隧道到远程服务)

可能WCF服务不仅尝试在127.0.0.1和网络IP上注册,还尝试在127.0.0.2上注册


如何将WCF服务配置为不尝试侦听127.0.0.2:8080,而只侦听127.0.0.1:8080和网络ip地址?或者我可以配置init进程,该进程只会忽略无法注册服务的地址?

整个127/8块表示localhost。所以127.0.0.1和127.0.0.2都指向本地机器。这意味着127.0.0.1:8080与指定127.0.0.2:8080相同

它们都指向相同的服务,在本例中是ssh隧道。因此,WCF无法注册


解决方案是更改端口号

是的,127/8点指向本地机器,但我不认为127.0.0.1:8080和127.0.0.2:8080是相同的。我可以使用ssh同时在127.0.0.3:8080和127.1.0.1:8080上设置不同的隧道,没有问题。您可以设置多个隧道,因为相同的ssh服务正在侦听端口8080。SSH正在根据您的设置在源ip和目标ip之间进行内部映射。但在另一种情况下,您要求操作系统将来自8080端口的数据发送到两个不同的应用程序。计算机上的端口号唯一标识应用程序。