LXD / Container / Apache2 / Iptables - 无法在网站中加载外部资源
LXD / Container / Apache2 / Iptables - Unable to load external sources in website
我有一个带有 LXD 的容器设置 运行 几个 wordpress 网页 (apache2)
一切正常。
我通过以下方式添加了端口转发:
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 文件(它挂起加载)。我想后一种影响是由于某些外部内容没有正确加载。
你能帮我理解这是怎么回事吗?
这段对话回答了以下问题:
https://discuss.linuxcontainers.org/t/iptables-apache-in-lxd-container/6143
一个很好的视频:
https://www.youtube.com/watch?v=1p-fbS_OYTg
我的解决方案确实通过在 iptables 规则中添加 -d MYIP/32 使其仅适用于传入流量而最终起作用。
我有一个带有 LXD 的容器设置 运行 几个 wordpress 网页 (apache2) 一切正常。
我通过以下方式添加了端口转发:
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 文件(它挂起加载)。我想后一种影响是由于某些外部内容没有正确加载。
你能帮我理解这是怎么回事吗?
这段对话回答了以下问题: https://discuss.linuxcontainers.org/t/iptables-apache-in-lxd-container/6143 一个很好的视频: https://www.youtube.com/watch?v=1p-fbS_OYTg
我的解决方案确实通过在 iptables 规则中添加 -d MYIP/32 使其仅适用于传入流量而最终起作用。