如何解决NET Core Web应用程序-System.Net.Sockets.SocketException
因此,我正在尝试在计算机上设置一个自签名的Web应用程序,但是只要该应用程序运行,就会遇到此异常。
例外:
crit: Microsoft.AspNetCore.Server.Kestrel[0]
Unable to start Kestrel.
System.Net.sockets.socketException (10013): An attempt was made to access a socket in a way forbidden by its access permissions.
设置本地主机文件以解析我的IP地址上的“ cserv.dk”,并将证书添加到受信任的文件中。
程序文件
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureServices((context,services) => {
HostConfig.CertPath = context.Configuration["CertPath"]; // From development.json
HostConfig.CertPassword = context.Configuration["CertPassword"]; // From secrets.json
}
)
.ConfigureWebHostDefaults(webBuilder =>
{
var host = Dns.GetHostEntry("cserv.dk");
webBuilder.ConfigureKestrel(opt =>
{
opt.Listen(host.AddressList[0],80);
opt.Listen(host.AddressList[0],443,listOpt => {
listOpt.UseHttps(HostConfig.CertPath,HostConfig.CertPassword);
}); // Listen on HTTPS
});
webBuilder.UseStartup<Startup>();
});
}
我确实犯了一个错误。第一次运行该项目时,我是使用IIS Express进行的(未安装常规IIS)。据我所知,这某种程度上搞砸了事情。 即使关闭了所有设备或重新启动了计算机,在浏览器中写入“ cserv.dk”仍显示空白页-不是错误。如果在:80上调用,它甚至可以重定向到https。
我之所以假设它是因为使用了443端口,但确实不应该使用它。进行“ netstat -ao”似乎没有发现任何东西。
我尝试使用...在IIS Express中删除网站的任何剩余部分
appcmd.exe list site /xml | appcmd delete site /in
没有运气,我需要帮助:D
欢呼
解决方法
最后找到了原因,VMWare。删除所有进程可解决此问题,我认为这与它的NAT功能有关。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。