0

我有一个运行多个 wordpress 网页(apache2)的 LXD 容器设置一切正常。

我通过以下方式添加了端口转发:

lxc config device add CONTAINER lxd_proxy_port80 proxy listen=tcp:0.0.0.0:80 connect=tcp:INTERNALIP:80

…端口 443 也是如此。这一切都正常工作。

不幸的是,我在我的 apache2 日志 (var/log/apache2/access.log) 中看不到原始 IP,但只能看到本地 IP。通过使用 iptables,我想改变这一点。我做了:

iptables -A FORWARD -p tcp -d LOCALIP --dport 443 -j ACCEPT
iptables -A FORWARD -p tcp -d LOCALIP --dport 80 -j ACCEPT

并删除我的代理设备

lxc config device remove CONTAINER lxd_proxy_port80
lxc config device remove CONTAINER lxd_proxy_port443

我实际上可以正确访问我服务器上的文件,并且现在我还在 apache2 访问日志中看到了我的外部 IP。

但是,wordpress 不再到达更新服务器(外部)并且似乎在到达外部世界时遇到了问题,我的一个 wordpress 页面无法再访问 index.php 文件(它挂起加载)。我想后一种效果是由于一些外部内容没有正确加载。

你能帮我理解发生了什么吗?

4

1 回答 1

0

这段对话回答了问题: https ://discuss.linuxcontainers.org/t/iptables-apache-in-lxd-container/6143 一个很好的视频: https ://www.youtube.com/watch?v=1p -fbS_OYTg

我的解决方案最终通过在 iptables 规则中添加 -d MYIP/32 使其仅适用于传入流量而起作用。

于 2019-12-03T17:33:10.730 回答