局域网其他设备无法访问IIS Express部署的ASP.NET API报400错误
问题解决步骤
该错误由IIS Express默认仅允许localhost域名访问、绑定配置不完整、权限不足三个核心原因导致,按以下步骤操作即可解决:
- 修改项目对应的IIS Express配置文件
打开项目根目录下隐藏的.vs/[你的项目名称]/config/applicationhost.config文件,找到bindings节点,替换为以下配置:
配置格式说明:<bindings> <binding protocol="http" bindingInformation="*:19093:*" /> <binding protocol="https" bindingInformation="*:44381:*" /> </bindings>[IP监听规则]:[端口]:[允许的主机名],*代表匹配所有。- 修改项目对应的IIS Express配置文件
- 更新launchsettings.json配置
将iisExpress节点的applicationUrl修改为监听所有地址:
"iisExpress": { "applicationUrl": "http://*:19093", "sslPort": 44381 }- 更新launchsettings.json配置
- 配置端口访问权限
以管理员身份打开PowerShell,依次执行以下命令,授权IIS Express绑定对应端口:
netsh http add urlacl url=http://*:19093/ user=Everyone netsh http add urlacl url=https://*:44381/ user=Everyone- 配置端口访问权限
- 防火墙放行端口
打开Windows Defender防火墙,添加入站规则,放行19093、44381两个端口的TCP入站请求,避免局域网设备访问时出现连接重置报错。
- 防火墙放行端口
- 重启项目
关闭当前运行的IIS Express实例,以管理员身份启动Visual Studio,重新运行项目即可通过局域网IP正常访问。
- 重启项目
内容的提问来源于stack exchange,提问作者salt
相关产品推荐
相关产品推荐

