我当前正在我的服务器上运行 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 服务。