如何将特定域的流量从 apache2 转发到 LXC 容器

如何将特定域的流量从 apache2 转发到 LXC 容器

我当前正在我的服务器上运行 apache2,但想要将请求特定主机(例如 lxc.example.com)的 http(s) 流量转发到可以通过机器上的本地 IP 地址访问的 LXC 容器。

我已经研究过 iptables,但据我所知,iptables 不处理 http(s) 流量,因此据我所知,没有基于主机名的转发规则可以应用。

我不想将流量转发到特定端口(例如 lxc.example.com:8080),因为这会使 URL 看起来不专业并且需要额外的端口转发配置。

似乎我遗漏了一个显而易见的解决方案,但我的搜索还没有发现任何东西。任何帮助都将不胜感激。

答案1

反向代理是解决方案。

为容器的域定义一个虚拟主机,该虚拟主机将反向代理流量。这会将所有来自 lxc.example.com 的流量转发到 localip。如果这不是您想要的,请告诉我。

<VirtualHost>
ServerName lxc.example.com
ProxyPass "/"  "http://localip/"
ProxyPassReverse "/"  "http://localip/"
</VirtualHost>

免责声明:配置未经测试。

不要忘记重新启动 apache2 服务。

相关内容