如果我遵循官方文檔來執(zhí)行HTTPS,則使用.NET Core 2.0,該網站無法加載,并顯示錯誤ERR_TOO_MANY_REDIRECTS。重現(xiàn)步驟:創(chuàng)建新的.NET Razor應用程序:dotnet新的razor -o aspnetcoreapp從此處詳細介紹的文檔中添加兩個代碼片段:https ://docs.microsoft.com/zh-cn/aspnet/core/security/enforcing-ssl?view=aspnetcore-2.0部署到在Ubuntu 17.10上運行的Apache2(未在較早版本上進行測試),其中conf使用以下代碼將連接傳遞到Kestrel服務器:ProxyPreserveHost On
ProxyPass / http://127.0.0.1:5001/
ProxyPassReverse / http://127.0.0.1:5001/如果刪除了第2步中的代碼,則該網站可以通過HTTP或HTTPS正常運行(但顯然不會重定向),但是如果添加了此代碼,則該站點無法通過HTTP或HTTPS加載ERR_TOO_MANY_REDIRECTS。似乎方法已隨.NET Core 2.1更改,但尚未發(fā)布。
2 回答

天涯盡頭無女友
TA貢獻1831條經驗 獲得超9個贊
您已將passthrough設置為http
,而不是https
。這里的Apache是作為反向代理運行的,因此它只是將請求轉發(fā)到您的直通服務器,該服務器將始終http
根據(jù)此處的配置進行轉發(fā)。然后,由于將ASP.NET Core應用程序配置為需要HTTPS,因此它將重定向,導致新請求命中Apache,然后再次通過轉發(fā)http
。
總之,您需要直通https
,而不是http
。或者,您可以從ASP.NET Core應用程序中刪除僅HTTPS要求,而在Apache中強制實施HTTPS。

30秒到達戰(zhàn)場
TA貢獻1828條經驗 獲得超6個贊
檢查您的邏輯,應該有一個引起循環(huán)重定向的地方。如果您使用反向代理,請檢查HttpContext是否正確獲取Https狀態(tài)
- 2 回答
- 0 關注
- 170 瀏覽
添加回答
舉報
0/150
提交
取消