繁体   English   中英

从远程计算机调用Web api core asp.net总是收到400错误请求

[英]Calling web api core asp.net from remote computer always gets 400 bad request

抱歉,以前可能会问过这个问题。 我们已经从StackOverflow尝试了这个链接, 当通过局域网访问localhost Web API或Web App时错误的请求-无效的主机名对我们都没有作用。

我们在一台笔记本电脑中使用以下IP地址配置了.net core 2.0 Web API:

当前.net机器IP 192.168.43.192

并在Windows 10和Visual Studio 2017上运行

Windows 10 Visual Studio Enterprise 2017版本15.5.2

项目设置: .net核心Web API项目设置HTTPS端口44350和HTTP 51785

我们还为项目修改了applicationsHost配置文件,并在绑定上添加了具有正确端口的机器IP地址。

在此处输入图片说明

我们也运行以下命令netsh https add urlacl url = http://192.168.43.192:51785/ user =每个人netsh advfirewall防火墙添加规则名称=“ IISExpressWeb” dir = in protocol = tcp localport = 51785 profile = private remoteip = localsubnet动作=允许

我们还在防火墙规则(入站/出站)中包括了上述端口: 入站防火墙规则允许使用TCP端口44350和51785 出站防火墙规则允许使用TCP端口44350和51785

问题是,当我们从网络上的其他机器(不同的IP地址,可以是Mac或移动设备通过端口44350,ssl或端口51785)访问Web api时,它总是返回错误

服务不可用-http 51785上的http错误501 错误的请求-无效的主机名http错误400请求的主机名在https端口44350上无效 先谢谢您的帮助。

我目前正在道路上使用手机(上图为路由器,因此android上没有wifi连接图标)。 它在连接到android手机的wifi的mac上也能正常工作。 另外,如果我在家中使用固定路由器,也会得到相同的结果。

我们甚至尝试从此处https://marketplace.visualstudio.com/items?itemName=vs-publisher-1448185下载Conveyor.ConveyorbyKeyoti

由于IIS Express愚蠢地接受远程连接,因此请单独运行Kestrel并在Program.cs文件中设置UseUrls

WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>() .UseUrls("http://*:[your port]")

如果要使用IIS Express:

您需要转发端口,看来这件事检查连接是否发送了与它绑定的主机标头匹配的主机标头,如果未绑定则为127.0.0.1。

  • 停止IIS Express
  • 打开.vs\\config\\applicationhost.config
  • 查找<binding protocol="http" bindingInformation="*:[port]:localhost">
  • 更改为: <binding protocol="http" bindingInformation="*:[port]:" />

  • 通过cmd创建端口转发:

netsh interface portproxy add v4tov4 listenport=[new-port] listenaddress=* connectport=[the-port-iis-using] connectaddress=127.0.0.1

  • [new-port]添加防火墙入站规则
  • 现在您可以使用ip和新端口远程调用api

您是否尝试过该帖子中提到的扩展“传送带”? 您可以从扩展对话框或https://marketplace.visualstudio.com/items?itemName=vs-publisher-1448185获取Conveyor。ConveyorbyKeyoti可以修复IIS Express中的400 Bad Request错误,而无需进行任何配置更改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM