小编Lia*_*yan的帖子

使用 UrlRewrite 防止 ARR 重写 302 重定向的 Location 标头

我正在尝试使用 ARR 和 urlrewrite 部署 jetty servlet 来创建反向代理。如果我启用“在响应标头中反向重写主机”,那么一切似乎都工作正常。我通过 www.example.com/servlet 访问 servlet,该地址在浏览器中保持不变,但通过 localhost:8080 访问 servlet。

问题是该 servlet 根据 get 参数返回 302 重定向。例如,如果我访问 www.example.com/servlet?input=cleaning 那么我将得到一个 302 重定向,该重定向可能会访问 www.cleaningexample.com/howtoclean。反向重写主机规则意味着客户端不会看到此 url,而是返回 www.example.com/howtoclean。

我无法设置静态出站规则,因为我事先不知道 302 重定向可能返回哪个地址。

如果我禁用反向重写主机,则浏览器中的 URL 将从 www.example.com/servlet 更改为 localhost:8080/servlet。

我尝试替换出站规则中的主机,但找不到任何地方可以获取 servlet 返回的原始位置标头,以替换重写的位置主机。

有没有办法让它正常工作?

iis rewrite reverse-proxy arr

3
推荐指数
1
解决办法
5944
查看次数

标签 统计

arr ×1

iis ×1

reverse-proxy ×1

rewrite ×1