![如何将特定域的流量从 apache2 转发到 LXC 容器](https://linux22.com/image/741810/%E5%A6%82%E4%BD%95%E5%B0%86%E7%89%B9%E5%AE%9A%E5%9F%9F%E7%9A%84%E6%B5%81%E9%87%8F%E4%BB%8E%20apache2%20%E8%BD%AC%E5%8F%91%E5%88%B0%20LXC%20%E5%AE%B9%E5%99%A8.png)
我当前正在我的服务器上运行 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 服务。