c# - Request.Url.Port 给出了错误的端口

标签 c# asp.net

我的支持团队为我提供了一个实时 IP,例如 http://201.121.152.168:68/。现在在正常情况下你会认为 68 是端口。但是,当我执行 Request.Host 时,我得到 201.121.152.168,当我执行 Request.Port 时,我得到 80。那么68这个数字去了哪里呢?它既不会进入主机也不会进入端口。这就是为什么我的整个应用程序都崩溃了。谁能指出出了什么问题,我该如何纠正?

我在这里错过了什么?

更新:如果我执行 request.Headers["Host"].ToString() 我会得到带有端口的完整主机,即 201.121.152.168:68

最佳答案

我假设您的支持团队已将防火墙上的端口 68 修补为在内部指向 80。因此,从您的服务器的角度来看,请求来自端口 80。可能是这种情况吗?

据我所知,UrlReferrer 会为您提供正确的端口,因为它是从浏览器发送的(浏览器看到的是带有端口 68 的 url)。

关于c# - Request.Url.Port 给出了错误的端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7768232/

相关文章:

c# - 将 Func<T> 重构为 Expression<Func<T>>

c# - RazorView,对多个模板使用相同的模型对象

c# - Unity 注册一个接口(interface)多个对象并告诉 Unity 在哪里注入(inject)它们

c# - .net C#,保护每种方法的最佳实践是什么?

javascript - 重新加载 jquery 和 js 库

c# - Application_End 未运行

c# - 如何模拟采用动态对象的方法调用

c# - Blazor MAUI 应用程序在 Android 上的发布配置中启动时崩溃

asp.net - 关于 .net div 类样式

asp.net - Web API 是否需要 CSP?