繁体   English   中英

在C#中获取虚拟URL

[英]Getting virtual URL in C#

我们有两个虚拟URL正在使用webseal进行Intranet应用,例如,

https://third-party-site.com/myapplication/Default.aspx
https://my-application.com/Default.aspx

从各自站点成功进行身份验证后,内部指向https://original-url.com:8080/Default.aspx

我想从Default.aspx页面获取当前URL。 我尝试使用Request.Url,但它返回的是原始URL。 即。 https://original-url.com:8080/Default.aspx

例如。 如果我从https://third-party-site.com/myapplication/访问“默认”页面,则它应返回当前URL为https://third-party-site.com/myapplication/Default.aspx

当前它以https://original-url.com:8080/Default.aspx返回

有没有办法获取虚拟URL本身?

Request.Url返回https://original-url.com:8080/Default.aspx,因为这是IIS收到的。 您没有描述您的基础结构,但我相信您在IIS之前拥有负载平衡器或某种路由。 这些服务通常(实际上是一种标准)注入称为X-Forwarded-For的 http标头。 您可以尝试通过以下方式获取该信息:

if (Request.Headers["X-Forwarded-For"].Count > 0) { ... // use the real domain }

如果失败,则应在IIS之前检查处理请求的服务的文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM