尝试启动 Kestrel 时使用 UseUrls() 时出现权限被拒绝错误
Permission denied error when using UseUrls() when trying to launch Kestrel
我正在尝试在我的 mac 上 运行 一个 asp.net 核心 2.1 应用程序并收到错误 "Permission Denied" 并且当我指定UseUrls() 选项。
这是我的program.cs
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseKestrel()
.UseUrls("http://api.dev.mysite.com")
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
}
如果我注释掉 'UseUrls',那么网站会在 https://localhost:5001
正常启动
Kestrel 不绑定到特定的主机名。 UseUrls()
让您只绑定到网络接口,例如:
http://localhost:5000
http://127.0.0.1:5001
http://*:5002
如果您想使用主机名进行访问,您需要修改 /etc/hosts 文件以将主机名映射到本地主机,但您需要指定端口 http://api.dev.mysite.com:5001
除非它设置为侦听 80 或 443(对于 https)。或者使用像 IIS/Nginx/Apache 这样的反向代理。对于 Nginx,配置是:
server {
listen 80;
server_name api.dev.mysite.com;
location / {
proxy_pass http://127.0.0.1:5001;
}
}
我正在尝试在我的 mac 上 运行 一个 asp.net 核心 2.1 应用程序并收到错误 "Permission Denied" 并且当我指定UseUrls() 选项。
这是我的program.cs
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseKestrel()
.UseUrls("http://api.dev.mysite.com")
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
}
如果我注释掉 'UseUrls',那么网站会在 https://localhost:5001
正常启动Kestrel 不绑定到特定的主机名。 UseUrls()
让您只绑定到网络接口,例如:
http://localhost:5000
http://127.0.0.1:5001
http://*:5002
如果您想使用主机名进行访问,您需要修改 /etc/hosts 文件以将主机名映射到本地主机,但您需要指定端口 http://api.dev.mysite.com:5001
除非它设置为侦听 80 或 443(对于 https)。或者使用像 IIS/Nginx/Apache 这样的反向代理。对于 Nginx,配置是:
server {
listen 80;
server_name api.dev.mysite.com;
location / {
proxy_pass http://127.0.0.1:5001;
}
}