use*_*430 4 asp.net-core-mvc asp.net-core asp.net-core-2.0
我希望能够使用自定义域和ssl而不是localhost在本地进行开发。
如何在VS解决方案而不是localhost中设置自定义域+ SSL?
如果要关联服务器以使用分配给服务器/ Web主机的所有IP地址,则可以执行以下操作:
var host = new WebHostBuilder()
.UseUrls("http://*:80", "http://localhost")
.UseKestrel()
.UseIISIntegration()
.Build();
Run Code Online (Sandbox Code Playgroud)
注意:如果不需要所有IP地址,则可以从更改http://*为特定IP地址,例如http://111.111.111.111。另外,端口不是必需的,但是我已使用它来确保答案的完整性。还需要注意的是,SSL无法与 UseUrls
您可以在此处的有关服务器URL的官方Microsoft文档中找到大量其他详细信息。
请注意,不建议通过Kestrel(即使使用SSL)在公共端点上进行托管,您应该使用Nginx或IIS之类的反向代理。您可以在此处从官方Microsoft文档中了解更多信息。
您没有提到是否使用Kestrel,但我假设您正在使用...在这种情况下,可以通过使用选项绑定套接字来轻松配置SSL证书。
这是使用Listen方法使用TCP套接字的示例:
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseKestrel(options =>
{
options.Listen(IPAddress.Loopback, 5000);
options.Listen(IPAddress.Loopback, 5001, listenOptions =>
{
listenOptions.UseHttps("testCert.pfx", "testPassword");
});
})
.UseIISIntegration() // <-- don't forget you will need this for IIS!
.Build();
Run Code Online (Sandbox Code Playgroud)
注意:如果同时使用和Listen方法UseUrls,则Listen端点将覆盖UseUrls端点。
你可以找到更多的信息在这里,在微软官方文档。
使用GUI
可以右键单击项目,然后单击[属性]。
使用launchSettings.json。
您必须使用launchSettings.json此处进行配置,方法如下:
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:61471/",
"sslPort": 44360
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "https://localhost:44360",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
Run Code Online (Sandbox Code Playgroud)
如果使用IIS,则IIS的URL绑定将覆盖通过调用Listen或设置的所有绑定UseUrls。有关更多信息,请参见ASP.NET Core模块简介。
如果您对浏览器(或您使用的任何客户端)中的证书验证错误感到满意,则可以在主机文件中添加一个条目:
www.yourcustomdomain.com 127.0.0.1(或者::1如果您使用的是 IPv6)
然后使用自定义域在本地访问您的网站。
在 Windows 中,hosts 文件通常位于C:\Windows\System32\drivers\etc。
| 归档时间: |
|
| 查看次数: |
4888 次 |
| 最近记录: |