Apache2.4/nginx - 将所有流量路由到请求主机?

Apache2.4/nginx - 将所有流量路由到请求主机?

我想创建一个服务器,作为特定子域上请求机器的环回。

我如何引用请求 IP 来将少数端口上的流量路由回请求 IP?

或者,在我自己的子域上运行的 xip.io 克隆也可以工作,因此路由如下:

10.199.1.1.my.domain.com -> 将所有流量路由到 10.199.1.1

答案1

您要求做的事是极其错误的,不应该允许在公共互联网或任何生产环境中进行 - 您正在打开一些潜在的灾难性安全漏洞,这些漏洞将在未来的某个时候给您带来问题。

作为一名专业人士,你的工作是确保你的上级意识到正在实施的问题,并帮助他们找到解决方案不是糟糕、错误和危险。处理这个问题留给读者练习(如果你想要帮助,可以问问工作场所


尽管如此,如果你绝对必须因为你的上级顽固不化,所以实施一个坏主意,通常的做法是使用 Apache 的 mod_rewrite - 这个模块喜欢做可怕的事情。

您可以通过捕获表单的 URL并发出重定向(301 或 302)来实现xp.io-alike 选项。mod_rewritea.b.c.d.mydomain.com/xxxxhttp://a.b.c.d/xxxx

如果愿意,您还可以使用 mod_rewrite 变量实现自动重定向%{REMOTE_ADDR}以自动填写 IP 地址。

这些解决方案天生就很脆弱:首先,它们只适用于 HTTP/HTTPS 流量(如果您想要其他东西,则需要实施适当的代理解决方案)。其次,如果请求者位于 NAT 或代理之后,它就会中断(可能以不可预测或不安全的方式)。

相关内容