Asp.Net Core 2.1 и более поздних версий упрощает использование локального SSL. Когда вы создаете проект с использованием Visual Studio, он спрашивает вас, нужно ли вам включить SSL или нет. Если вы выбрали эту опцию перед созданием проекта, вы должны увидеть ваш файл launchSettings.json примерно так:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:61110",
"sslPort": 44377
}
},
"$schema": "http://json.schemastore.org/launchsettings.json",
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "api/values",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"YourProjectName": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "api/values",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "https://localhost:5001;http://localhost:5000"
}
}
}
Раздел iisSettings
предназначен для IISExpress с sslPort
, определенным в данном случае 44377. Поэтому, когда ваш проект работает под IISExpress, он использует эти настройки
Раздел YourProjectName
предназначен для пустельги. Вы можете видеть, что applicationUrl
использует конечные точки http
и https
. Поэтому, когда вы делаете dotnet run
, вы должны увидеть
Hosting environment: Development
Content root path: C:\users\...\YourProjectName
Now listening on: https://localhost:5001
Now listening on: http://localhost:5000
Кроме того, при методе Configure
вы должны увидеть строку ниже, чтобы он автоматически перенаправлял HTTP на HTTPS
app.UseHttpsRedirection();
Если ваш launchSettings.json
файл не похож на приведенный выше. Попробуйте изменить его в свойствах проекта и включить SSL, как на скриншоте ниже. При сохранении настроек файл launchSettings.json
будет обновлен
![enter image description here](https://i.stack.imgur.com/jRq0u.png)
Если вышеперечисленное не работает, попробуйте изменить файл launchSettings.json
вручную. Я надеюсь, что это помогает