在路由配置中,使用RouteValueDictionary设置约束,确保端口号格式正确。

2026-03-30 12:251阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计500个文字,预计阅读时间需要2分钟。

在路由配置中,使用RouteValueDictionary设置约束,确保端口号格式正确。

我们近期发现了新的云托管问题。已配置基本的NAT端口转发,但由于其不允许多个内部IP,这意味着多个站点可以执行SSL证书。这会导致在特定协议下生成的任何MVC路由出现故障。

我们刚刚发现了新的“云”托管问题.
已配置基本NAT /端口转发,因为它们不允许多个内部IP,因此可以为多个站点执行SSL证书.

这会导致在指定协议的情况下生成的任何MVC路由出现问题.
此外,如果尝试转到需要登录的URL,则重定向的https登录URL中的ReturnUrl参数也具有端口号.

问题是 – 是否有任何方法告诉M​​VC永远不要包含端口号,即使存在一个端口号,缺少使用UrlHelpers操作/路由方法重载,允许您指定域,从而手动剥离端口号.

如果从上面不清楚请求过程是什么样的,这里有一个小例子:

>用户浏览器向网站发出请求
>服务器转发相同的URL但附加了端口号
>生成页面
>响应发送回用户浏览器.
>用户登录但现在返回URL具有端口,因此当重定向用户获取页面时无法显示.

由于端口转发malarkey,这似乎导致MVC路由变得混乱.
不太了解技术服务器端我不确定是否只是托管公司没有在IIS或NAT中正确配置某些东西,或者是否只有一些web.config内容需要配置以使MVC生成正确的URL好像此端口malarkey不存在.

在路由配置中,使用RouteValueDictionary设置约束,确保端口号格式正确。

任何提示或指示最受赞赏.

幸运的是,事实证明有一个配置解决方案(因为人们问“代码更改怎么样?” – >我:“说真的?不,这一定是配置问题”).

解决方案易于实施;将以下内容添加到< appSettings> web.config的一节:

< add key =“aspnet:UseHostHeaderForRequestUrl”value =“true”/>

因此,当ASP.NET / MVC生成URL时,它将始终使用用户请求的网站的主机头而不是端口转发的版本,是的!

标签:URl

本文共计500个文字,预计阅读时间需要2分钟。

在路由配置中,使用RouteValueDictionary设置约束,确保端口号格式正确。

我们近期发现了新的云托管问题。已配置基本的NAT端口转发,但由于其不允许多个内部IP,这意味着多个站点可以执行SSL证书。这会导致在特定协议下生成的任何MVC路由出现故障。

我们刚刚发现了新的“云”托管问题.
已配置基本NAT /端口转发,因为它们不允许多个内部IP,因此可以为多个站点执行SSL证书.

这会导致在指定协议的情况下生成的任何MVC路由出现问题.
此外,如果尝试转到需要登录的URL,则重定向的https登录URL中的ReturnUrl参数也具有端口号.

问题是 – 是否有任何方法告诉M​​VC永远不要包含端口号,即使存在一个端口号,缺少使用UrlHelpers操作/路由方法重载,允许您指定域,从而手动剥离端口号.

如果从上面不清楚请求过程是什么样的,这里有一个小例子:

>用户浏览器向网站发出请求
>服务器转发相同的URL但附加了端口号
>生成页面
>响应发送回用户浏览器.
>用户登录但现在返回URL具有端口,因此当重定向用户获取页面时无法显示.

由于端口转发malarkey,这似乎导致MVC路由变得混乱.
不太了解技术服务器端我不确定是否只是托管公司没有在IIS或NAT中正确配置某些东西,或者是否只有一些web.config内容需要配置以使MVC生成正确的URL好像此端口malarkey不存在.

在路由配置中,使用RouteValueDictionary设置约束,确保端口号格式正确。

任何提示或指示最受赞赏.

幸运的是,事实证明有一个配置解决方案(因为人们问“代码更改怎么样?” – >我:“说真的?不,这一定是配置问题”).

解决方案易于实施;将以下内容添加到< appSettings> web.config的一节:

< add key =“aspnet:UseHostHeaderForRequestUrl”value =“true”/>

因此,当ASP.NET / MVC生成URL时,它将始终使用用户请求的网站的主机头而不是端口转发的版本,是的!

标签:URl