问题标签 [hostheaders]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - 将端口附加到主机标头时出现 Azure 服务器错误
我正在运行一个旨在接受 XML 帖子的 Azure Web 应用程序。当我使用 cURL 发布到 url 时,一切正常,但是,当使用 Apache Camel/HTTP 时,POST 会导致 400 错误。当我查看日志文件时,唯一的区别是 cs-host 字段。对于 cURL 命令,该值只是域(例如 azurewebsites.net),但是 Apache POST 附加端口 80(例如 azurewebsites.net:80)。我添加了一个重写规则,该规则将从调用中删除端口(下面的规则详细信息),但 POST 仍然导致 400 错误。我能找到的最接近的相关帖子是:Include Port number in HTTP HOST header会导致Service Unavailable错误,但不幸的是,它看起来与Netscaler有关,而不是Azure Web App,并且该解决方案没有提供任何详细的指导。谢谢任何输入!
这是重写规则:
apache - 从标头设置 proxypass 域
试图找到一种基于传入标头实现代理传递的方法。
例如:
X-backend-host 将在请求标头中的位置。
这背后的想法是拥有多个传入域,即 one.example.com、two.example.com、three.example.com 并让它们指向自己独特的后端。
有没有人有任何想法或参考,我可以看看实现这样的场景。
java - 如何防止struts2(JAVA)中的主机头注入(Jboss-as-7.2.0.Final)
我只是想找到主机头注入的解决方案,但找不到。需要技术人员的帮助。
使用 struts2 作为框架,jsp 作为前端,jboss 7 作为应用服务器。
以下是样品请求,
GET /xxxxxxxx/xxxxxxx/xxxxxxxxxMaster.action HTTP/1.1
Host: xxx.xxx.xx.xxx:8444
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:45.0) Gecko/20100101 Firefox/45.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://xxx.xx.xx.xxx:8444/xxxxx/xxxxx.action
Cookie: menusToExpand=LINKID000001323Menu%2CLINKID000041521Menu%2CLINKID000055923Menu%2CLINKID000042954Menu%2CLINKID000094209Menu; itemToHighlight=https%3A//xxx.xxx.xx.xxx%3A8444/xxxxx/xxxxxxxxxxxx/xxxxxxxxxx.action; JSESSIONID=qKGED+F7LXZ1hvQijXKO+5Qp.hellnode01
Connection: keep-alive
我想隐藏主机 IP 地址以防止主机头注入..
任何帮助,将不胜感激!
谢谢
python - 使用请求获取请求未返回主机标头
我刚刚遇到了“Host Header”这个词,我相信我对它的理解相当好。我想知道如何通过请求库找到主机标头。我认为这就像将requests.get(<some url>)
对象设置为调用r
并打印的变量一样简单,r.headers['host']
但响应标头不指示主机。当向 IP 地址而不是域名发送获取请求时,这主要对我来说很方便。假设主机标头只是我所针对的服务器的 ip 是否安全?
我在 google.com 和 stackoverflow.com 上试过这个
nginx - 301重定向后如何在浏览器的url中保留主机头?
我的任务是使内部 URL ( coolnewproduct.mycoolcorp.net
) 重定向到外部实体 ( mycoolcorp.coolerproducts.com
)。我使用 nginx 执行 301 重定向,coolnewproduct.mycoolcorp.net
但是mycoolcorp.coolerproducts.com
浏览器中可见的主机标头会发生变化并被mycoolcorp.coolerproducts.com
看到。nginx 有没有办法coolnewproduct.mycoolcorp.net
在执行重定向后保留原始主机头?
php - Nginx:使用来自 x_custom_header 的值修改 http_host 标头
我一直在尝试做这件事,但对我来说没有任何效果。希望这里的任何人都可以提供帮助......
此处的 php 应用程序读取$_SERVER['HTTP_HOST']
并判断标头的主机部分,它决定服务于哪个站点。这里的问题是,Nginx 以$http_host =mainweb.prd.mydomain.net
和$x_custom_header =bob
(或alice、joe等)形式接收标头。我需要 [重新] 将 http_host 的值设置为bob.prd.mydomain.net。我想我需要做这样的事情:
但这显然行不通。知道我该怎么做。我在这里看到的所有示例实际上都是针对 URL 重定向的,它实际上是在更改浏览器中的 URL,这是我绝对不想要的。知道我该怎么做吗?任何指向正确方向的指针都将非常感激。
-桑
asp.net - 在同一端口 iis 上运行多个应用程序的需求是什么
最近我发现在 IIS 中,我们可以创建 2 个或更多具有相同端口号和不同主机头的站点。
但我不明白这有什么需要?这在哪些场景下有用?
请指出可以帮助我理解的方向?
当机器与负载均衡器关联时,这是如何工作的?
dns - Host 标头对托管多个服务器的物理主机有何帮助?
我有一台IP 为 1.2.3.4的单机。这台机器有 2 个 web 服务器和一个 ftp 服务器:
Web Server 1 监听 82 端口;它的域:ws1.example.com
Web Server 2 监听 83 端口;它的域:ws2.example.com
FTP Server 监听 21 端口;它的域:ftp.example.com
这是 DNS 映射的样子:
案例 1:我在浏览器 URL ws1.example.com:82发出请求, DNS 将我重定向到example.com,但Host标头为:ws1.example.com。
案例 2:我在浏览器 URL ws2.example.com:83发出请求, DNS 将我重定向到example.com,但带有Host标头:ws2.example.com。
在这两种情况下:
请求最终到达同一台物理机
当请求到达时:
在案例 1 中,请求到达这台机器,并且请求由正在侦听端口 82 的应用程序(即 Web 服务器 1)处理。
在案例 2 中,请求到达这台机器,并且该请求由正在侦听端口 83 的应用程序(即 Web 服务器 2)处理。
据我了解, Host标头用于通知接收主机识别哪个服务器(从该IP托管的多个服务器中)是该请求的目的,并相应地将请求定向到适当的应用程序。
我的问题是:
在此示例中,Host标头的用途是什么,因为具有相同 IP 的同一台物理机有多个应用程序在其相应的端口进行侦听。一旦请求到达这台机器,适当的端口无论如何都会被接收,而其他应用程序将忽略该请求,因为该端口与请求不匹配。那么,当适当的端口无论如何都在做他们的工作时,Host标头在这里服务的目的是什么,对吗?
我能推断出吗
- 名称
- 单个 IP 后面的多个 Web 服务器
- 随后将特定用户请求解析到具有Host标头的相应 Web 服务器
仅当您使用诸如反向代理之类的东西时才有意义,例如 1 台机器与客户端接口并将用户请求重定向到不同机器上的相应 Web 服务器,所有机器都在同一端口上侦听,例如 80,每台机器都位于反向代理后面的网络中,其中如果您有ws1.example.com和ws2.exmple.com都被重定向到反向代理example.com并且这个反向代理现在根据Host标头将其转发到适当的主机?
c# - 主机头的 URL 重写在 asp.net 中使用 IIS 不起作用
我不想重定向任何恶意链接或用户重定向到其他域。相反,它应该重定向到我提到的域。因此,我在下面写了 Rewrite URL rule by using IIS server
但是这里发生的事情是,我所有的应用程序 CSS 都会受到干扰。请建议在这种情况下我应该怎么做。
powershell - 如何快速删除 PowerShell 中的多个 IIS 绑定?
在版本升级过程中,我们当前的解决方案从一个站点获取所有绑定(两个虚拟 url 除外)并将它们设置在另一个站点上。
我目前正在通过 PowerShell 删除绑定,但速度非常慢。我查看了 SO 中的每个线程,几乎每个解决方案都使用“Remove-WebBinding”。
这是我当前的代码:
我有 272 个(-2 虚拟)绑定要删除,大约需要 3 分钟。
任何想法如何更快地做到这一点?
顺便说一句:一个一个地添加所有这些绑定也非常慢,但我想如果我能在这里找到答案,类似的解决方案也可以添加。