无法在Linux服务器外部访问.NET Core应用

时间:2019-01-14 17:12:25

标签: linux networking asp.net-core .net-core identityserver4

我正在尝试访问托管在我的服务器上的应用程序(Identity Server 4)。当我运行应用程序时,我可以卷曲localhost并获取Identity Server 4主页的HTML。但是,当我尝试从PC访问该应用程序时,会不断收到“连接被拒绝”的信息。我用ufw打开了端口(在这种情况下,端口为5000),但是我仍然收到“拒绝连接”的消息。

我不知道该怎么看,因为我对网络的了解不是很好。

如果我打开

  

/ etc / hosts

我得到:

  

127.0.0.1本地主机localhost.localdomain本地主机4本地主机4.localdomain4 :: 1本地主机localhost.localdomain   localhost6 localhost6.localdomain6

如果我输入ifconfig,我将得到:

  

br-23aec2d805c1:标志= 4163 mtu 1500           inet 172.19.0.1网络掩码255.255.0.0广播172.19.255.255           inet6 fe80 :: 42:aff:fed1:afcf prefixlen 64 scopeid 0x20           以太网02:42:0a:d1:af:cf txqueuelen 0(以太网)           RX数据包0字节0(0.0 B)           接收错误0掉线0超限0帧0           TX封包0位元组0(0.0 B)           TX错误0掉线0超限0载波0冲突0

     

br-a03307c6e330:标志= 4099 mtu 1500           inet 172.21.0.1网络掩码255.255.0.0广播172.21.255.255           以太网02:42:dc:aa:49:c9 txqueuelen 0(以太网)           RX数据包0字节0(0.0 B)           接收错误0掉线0超限0帧0           TX封包0位元组0(0.0 B)           TX错误0掉线0超限0载波0冲突0

     

br-b2ac2102790e:标志= 4099 mtu 1500           inet 172.20.0.1网络掩码255.255.0.0广播17.2.0.255.255           以太网02:42:9b:c4:58:a2 txqueuelen 0(以太网)           RX数据包68个字节5908(5.7 KiB)           接收错误0掉线0超限0帧0           TX封包68个位元组5908(5.7 KiB)           TX错误0掉线0超限0载波0冲突0

     

docker0:标志= 4163 mtu 1500           inet 172.17.0.1网络掩码255.255.0.0广播172.17.255.255           inet6 fe80 :: 42:ccff:feb4:83d4 prefixlen 64 scopeid 0x20           以太网02:42:cc:b4:83:d4 txqueuelen 0(以太网)           RX数据包22655字节5132534(4.8 MiB)           接收错误0掉线0超限0帧0           TX数据包26492字节20375012(19.4 MiB)           TX错误0掉线0超限0载波0冲突0

     

docker_gwbridge:标志= 4099 mtu 1500           inet 172.18.0.1网络掩码255.255.0.0广播172.18.255.255           以太网02:42:7d:64:08:fa txqueuelen 0(以太网)           RX数据包3763字节690577(674.3 KiB)           接收错误0掉线0超限0帧0           TX数据包2977字节1193212(1.1 MiB)           TX错误0掉线0超限0载波0冲突0

     

eno1:标志= 4163 mtu 1500           inet 192.168.1.11网络掩码255.255.255.0广播192.168.1.255           inet6 fe80 :: 2111:8d94:12e1:3617 prefixlen 64 scopeid 0x20           以太网70:85:c2:7b:24:b5 txqueuelen 1000(以太网)           RX数据包669595字节799790693(762.7 MiB)           接收错误0掉线0超限0帧0           TX封包476491位元组45305847(43.2 MiB)           TX错误0掉线0超限0载波0冲突0           设备中断16内存0xa1200000-a1220000

     

lo:标志= 73 mtu 65536           inet 127.0.0.1网络掩码255.0.0.0           inet6 :: 1 prefixlen 128作用域ID 0x10           循环txqueuelen 1000(本地环回)           RX数据包68个字节5908(5.7 KiB)           接收错误0掉线0超限0帧0           TX封包68个位元组5908(5.7 KiB)           TX错误0掉线0超限0载波0冲突0

     

veth0e6a280:标志= 4163 mtu 1500           inet6 fe80 :: 245e:eff:feeb:1bc2 prefixlen 64 scopeid 0x20           以太网26:5e:0e:eb:1b:c2 txqueuelen 0(以太网)           RX数据包156515字节36954031(35.2 MiB)           接收错误0掉线0超限0帧0           TX数据包135009字节27523494(26.2 MiB)           TX错误0掉线0超限0载波0冲突0

     

veth0ed3eff:标志= 4163 mtu 1500           inet6 fe80 :: 88e6:81ff:fe80:1a6 prefixlen 64 scopeid 0x20           以太网8a:e6:81:80:01:a6 txqueuelen 0(以太网)           RX数据包1074962字节171060799(163.1 MiB)           接收错误0掉线0超限0帧0           TX数据包788326字节341834817(325.9 MiB)           TX错误0掉线0超限0载波0冲突0

     

veth37e347a:标志= 4163 mtu 1500           inet6 fe80 :: f0c3:60ff:fe57:c5dd prefixlen 64 scopeid 0x20           以太网f2:c3:60:57:c5:dd txqueuelen 0(以太网)           RX数据包788306字节341833385(325.9 MiB)           接收错误0掉线0超限0帧0           TX数据包1074982字节171062231(163.1 MiB)           TX错误0掉线0超限0载波0冲突0

     

veth54e612a:标志= 4163 mtu 1500           inet6 fe80 :: 68a9:31ff:fe5b:f1f7 prefixlen 64 scopeid 0x20           以太网6a:a9:31:5b:f1:f7 txqueuelen 0(以太网)           RX数据包15416字节4958650(4.7 MiB)           接收错误0掉线0超限0帧0           TX数据包15485字节862685(842.4 KiB)           TX错误0掉线0超限0载波0冲突0

     

veth7c3ac57:标志= 4163 mtu 1500           inet6 fe80 :: d0d1:2dff:feed:f1bd prefixlen 64 scopeid 0x20           以太网d2:d1:2d:ed:f1:bd txqueuelen 0(以太网)           RX数据包28字节3522(3.4 KiB)           接收错误0掉线0超限0帧0           TX封包42位元组5131(5.0 KiB)           TX错误0掉线0超限0载波0冲突0

     

veth86f6af5:标志= 4163 mtu 1500           inet6 fe80 :: e44d:3cff:fe01:6991 prefixlen 64 scopeid 0x20           以太网e6:4d:3c:01:69:91 txqueuelen 0(以太网)           RX数据包3763字节690577(674.3 KiB)           接收错误0掉线0超限0帧0           TX数据包2977字节1193212(1.1 MiB)           TX错误0掉线0超限0载波0冲突0

     

vethda6b63a:标志= 4163 mtu 1500           inet6 fe80 :: d4db:9eff:fece:d3bc prefixlen 64 scopeid 0x20           以太网d6:db:9e:ce:d3:bc txqueuelen 0(以太网)           RX数据包133961字节27038265(25.7 MiB)           接收错误0掉线0超限0帧0           TX数据包155294字节37135106(35.4 MiB)           TX错误0掉线0超限0载波0冲突0

我迷路了,我不知道该怎么办。 我应该修改哪一部分?用什么修改?

2 个答案:

答案 0 :(得分:1)

您如何运行服务器?例如,它是否使用Kestrel?选中its current documentation表示:

  

Listen方法绑定到TCP套接字,并且选项lambda允许配置X.509证书

所以看起来您应该可以使用类似的东西:

WebHost.CreateDefaultBuilder(args)
 // ...
 .ConfigureKestrel((context, options) =>
 {
    options.Listen(IPAddress.Any, 5000);
 });

答案 1 :(得分:0)

答案很简单,但我从未想到。 Tanktalus太近了。当我使用ConfigureKestrel时,VS无法找到该方法,因此,除了他的示例,我使用了几乎相同的东西,但是使用了不同的方法。 这是解决方案:

.UseKestrel(configure =>
{
     configure.Listen(System.Net.IPAddress.Any, 5055);
})