如果我遵循官方文档来执行HTTPS,则使用.NET Core 2.0,该网站无法加载,并显示错误ERR_TOO_MANY_REDIRECTS。重现步骤:创建新的.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更改,但尚未发布。
2 回答
天涯尽头无女友
TA贡献1831条经验 获得超9个赞
您已将passthrough设置为http
,而不是https
。这里的Apache是作为反向代理运行的,因此它只是将请求转发到您的直通服务器,该服务器将始终http
根据此处的配置进行转发。然后,由于将ASP.NET Core应用程序配置为需要HTTPS,因此它将重定向,导致新请求命中Apache,然后再次通过转发http
。
总之,您需要直通https
,而不是http
。或者,您可以从ASP.NET Core应用程序中删除仅HTTPS要求,而在Apache中强制实施HTTPS。
- 2 回答
- 0 关注
- 155 浏览
添加回答
举报
0/150
提交
取消