.net - 调用 UseUrls 时 0.0.0.0:1000 和 *:1000 有什么区别
问题描述
在 .NET Core 应用程序中,我正在使用: new WebHostBuilder().UseUrls("http://*:1234")
.
上面的代码和 之间的有效区别是什么new WebHostBuilder().UseUrls("http://0.0.0.0:1234")
?
解决方案
您可以在此处找到与 kestrel 相关的文档 https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-2.1#url-prefixes
IPv4
0.0.0.0
是绑定到所有 IPv4 地址的特殊情况。
IPV6
[::]
是 IPv4 0.0.0.0 的 IPv6 等价物。
主机名
主机名 ,
*
和+
, 并不特殊。任何未被识别为有效 IP 地址或localhost
绑定到所有 IPv4 和 IPv6 IP 的内容。要将不同的主机名绑定到同一端口上的不同 ASP.NET Core 应用程序,请使用 HTTP.sys 或反向代理服务器,例如 IIS、Nginx 或 Apache。
主机localhost
名
指定时
localhost
,Kestrel 会尝试绑定到 IPv4 和 IPv6 环回接口。如果请求的端口正被任一环回接口上的另一个服务使用,Kestrel 将无法启动。如果任一环回接口因任何其他原因不可用(最常见的原因是不支持 IPv6),Kestrel 会记录警告。
推荐阅读
- javascript - 如何通过 vscode 扩展命令激活文档?
- ios - iOS CALayer 点击识别器
- php - 可以关闭函数内的PHP标签吗
- python-3.x - 使用 python3 和 nltk 从模块调用函数的问题
- java - 表头未显示在表中
- python - 如何在 Python 中比较 PyQt5 中的字符串?[解决了]
- r - 避免嵌套 ifelse 语句的规则表
- javascript - 单击图标图像(背景视频播放)时,从单击的位置在弹出窗口中播放视频
- php - PHP-DI 定义未由定义数组中的条目名称索引
- https - 使用 .htaccess 强制将 URL 结构中的 HTTP 更改为 HTTPS