我是新手。
我知道我可以设置url
UseUrls()
来设置网站的url。或者在IIS中设置
现在我想使用 razor 页面发布一个免费网站,但我希望用户只使用“localhost”的 url,这意味着他们只能在自己的计算机上使用它。
用户可以获得源代码,但只能使用localhost来运行它。
我知道 razor 页面不能使用原生 aot。
如果您想将对网站的访问限制为仅本地主机 (
127.0.0.1
),则必须在 UseUrls
文件中使用 Program.cs
方法,如下所示:
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseUrls("http://localhost:5000") // Specify the localhost URL and port
.UseStartup<Startup>();
}
此外,如果您使用 Visual Studio 进行调试,您还必须验证您的
"applicationUrl": "http://localhost:5000"
文件中是否包含此语句 (launchSettings.json
)。
您可以使用自定义中间件来限制对您网站的访问,如下所示:
app.UseMiddleware() =>
{
return async (context, next) =>
{
if (context.Request.Host.Host != "localhost")
{
context.Response.StatusCode = 403; // Forbidden
return;
}
await next.Invoke();
};
});