重定向和主机名

重定向和主机名

在 Linux 本地机器上,是否可以强制 443 端口上的所有对主机名(在 /etc/hosts 中定义)的请求使用另一个端口?

例如:如果我的浏览器尝试获取https://host.domain.org,将会联系 host.domain.org:666。

我知道存在一些浏览器扩展,但我正在寻找系统级解决方案。

我必须使用 iptables 吗?

更新:
此主机是我公司的前端门户,公开了十几个端口,每个端口都是后端 HTTPS 服务器上的重定向。
例如:

到目前为止,我曾经使用过 Chromium 的一个扩展程序(名为 switcheroo),它可以根据 URL 的模式重定向 URL。因此,我在 /etc/hosts 中写入了一行,如下所示:

ip_of_the_portal    zimbra.mydomain.org glpi.mydomain.org

在我的扩展中,我写了一些这样的规则:

"https://zimbra.mydomain.org" -> "https://zimbra.mydomain.org:1001"
"https://glpi.mydomain.org" -> "https://glpi.mydomain.org:1002"

因此,每次同事给我一个 Zimbra 的 URL 时,我的浏览器都会自动连接“:1001”,一切运行正常。

我遇到的问题是关于一个棘手的网络服务器(假设在公共 PAT 门户的端口 1002 上可用),它在请求响应中给出了一些 HTTP 重定向,而我的小扩展无法应对它并且它绕过了我的规则。

答案1

好的,为了避免做一些太棘手或不可能的事情,我编写了一个 chromium 扩展来改变每个请求的“Host”HTTP 标头。

问题在于 Apache 服务器读取“Host”http 标头以做出一些决定。由于我是通过 PAT 从企业外部进入的,因此此标头为“host:port”,当 Apache 在此字段中看到未知端口时,它会发送 302 以进行重定向,而不是发送请求的页面。

为了解决这个问题,我的扩展删除了 Host HTTP 标头的“:port”,Apache 服务器返回了正确的页面。

感谢所有阅读并回答我最初那个愚蠢的问题的人:)。

相关内容