首页 > 解决方案 > 如何在自签名 https 网络服务器 C# 中添加 IP 地址而不是本地主机

问题描述

如何在 C# 中的自签名 https 网络服务器中添加 IP 地址而不是本地主机

我尝试通过以下文章https://www.humankode.com/asp-net-core/develop-locally-with-https-self-signed-certificates-and-asp-net-core设置 https 及其工作在本地主机中很好。这意味着在 https://localhost:44321中工作

如果我尝试添加 IP,例如https://192.168.0.10:44321 (服务器的静态 IP);我无法从服务器本身或本地网络中的其他系统访问我的服务器。

环境是Linux

标签: c#sslhttps

解决方案


cmdlet的-DnsName参数New-SelfSignedCertificate允许您提供主机名数组。不要在证书中包含 IP 地址,而是可以包含 $env:COMPUTERNAME 或其他标识您的服务器的字符串(可能使用 * 通配符)。

此外,“localhost”通常解析为 IPv4 地址 127.0.0.1/8 和 IPv6 ::1/128,但您的 $HOSTNAME/COMPUTERNAME 将解析为公共或 LAN 地址,例如 192.168.0.10;您需要将您的网络服务器绑定到它侦听请求的所有地址(例如https://*:44321用作基地址)。


推荐阅读