在 ASP.NET Core 6 啟動的時候如果開啟 http 連結,會自動重定向到 https 網址。但是在開發過程中如果不想設定憑證,其他程式使用 API 呼叫 https 就會出現問題,但是使用 http 又會再被自動跳轉到 https...
註:上面設定檔的專案名稱為 MyWebApplication
所以在開發時不想要自動重定向該怎麼辦?只要把上面第三行註解掉就可以了!
參考資料:
Enforce HTTPS in ASP.NET Core
不要設定 https 網址
預設在建立完 ASP.NET Core 6 專案後在 Properties 資料夾內會有 launchSettings.json 檔案,可以在裡面看到 applicationUrl 的設定指向了一個 https 和 http 網址,只要把 https 的網址拿掉就不會跳轉到 https 了
{
"$schema": "https://json.schemastore.org/launchsettings.json",
"profiles": {
"MyWebApplication": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"launchUrl": "swagger",
"applicationUrl": "https://localhost:7253;http://localhost:5194",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
}
}
註:上面設定檔的專案名稱為 MyWebApplication
UseHttpsRedirection
不過其實上面的方式是治標不治本,其實重定向根本不是因為上面的原因,而是因為在 Program.cs 中有使用 UseHttpsRedirection ,這才是導致自動重定向到 https 的根本原因:
var app = builder.Build();
app.UseHttpsRedirection();
app.Run();
所以在開發時不想要自動重定向該怎麼辦?只要把上面第三行註解掉就可以了!
參考資料:
Enforce HTTPS in ASP.NET Core
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com