UrlHelper插入端口到绝对URL

时间:2018-07-18 07:29:59

标签: .net model-view-controller https load-balancing antiforgerytoken

我们的环境设置包含负载均衡器(在https下)和Web服务器(在http下)。因此,负载平衡器通过http与Web服务器进行交互。

我们还必须更改应用程序配置以保护cookie:

AntiForgeryConfig.CookieName = "site";
AntiForgeryConfig.RequireSsl = true;

当我们生成“操作”或“ api端点”应用程序的绝对URL时,请插入80端口以生成结果url。发生这种情况是因为我们在请求上下文中具有“ http”架构,并将“ https”协议作为参数添加到UrlHelper.RouteUrl方法。 MVC检查端口80(RequestContext中HTTP的默认端口)不是'https'(请求协议)的默认协议,然后将端口添加到url。

实际结果:

https://website.com:80/questions/ask

预期结果:

https://website.com/questions/ask

解决此问题的最佳方法是什么?

0 个答案:

没有答案