首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IIS在x转发-For报头中设置的端口号与原目标端口不同。

问IIS在x转发-For报头中设置的端口号与原目标端口不同。
EN

Stack Overflow用户
提问于 2015-03-19 22:03:09
回答 1查看 4.1K关注 0票数 2

我在我的开发框上设置了IIS反向代理,以测试我的应用程序如何处理已通过SSL卸载的请求。

我的应用程序需要重新创建原始请求,追加一些查询字符串参数,并将其发送回客户端。默认情况下,IIS/ARR/URL重写似乎不附加行业标准“X转发-主机”和“X转发-Proto”报头。相反,我能找到的最接近的东西是“X SSL”和“X转发-For”。

我很高兴从“X转发-For”中解析出原始IP,但是当我查看端口时,它似乎没有任何意义。我的SSL反向代理被设置为侦听默认的SSL端口(443),但是头中指定的端口是52585。

我的问题是,有人知道如何确定原始请求的目标端口是什么吗?我希望我的应用程序能够可靠地处理IIS代理的请求,但看起来我必须根据请求是HTTP还是HTTPS来猜测端口。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-19 22:39:22

X-Forwarded-For与服务器无关。这是客户的IP地址。它被附加到请求头上,这样web服务器就可以识别真正的客户端而不是反向代理。您提到的其他标题是事实上的标准,这些标准现在已被RFC 7239取代。根据RFC,端口号将包括在Forwarded头的主机部分,如下所示:

代码语言:javascript
复制
Forwarded: for=192.0.2.60;proto=http;host=example.com:888;by=203.0.113.43

我怀疑一些反向代理在冒号之后将端口号作为X-Forwarded-Host头的一部分添加,就像在Host头中一样,但是由于它不是定义的标准标头,所以您只需要使用反向代理来查看它。

另见:什么是X转发-Proto HTTP报头的完整规范?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29155841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档