Oni
1
你好,
我遇到了一个 bug。老实说,我认为这是个 docker 问题,但由于我只将 Docker 用于 Discourse,所以我在这里碰碰运气,并认为其他人可能会对此感兴趣。
最近,我的 discourse 安装(https://forum.domainname.com/)与我的网站(https://www.domainname.com/)位于同一服务器上,并使用 Nginx 作为反向代理。
我将 discourse 安装迁移到了具有相同配置(Nginx 作为反向代理)的新服务器上。直到我将网站迁移到新服务器之前,一切都很好。
有些人告诉我 Onebox 功能不再起作用了。当我调查时,我意识到它只对我的域名不起作用。
所以我尝试进入 docker 容器,结果是我无法从 docker 容器内部连接到我的网站,所有其他外部 IP 都可以工作,但我无法连接到我的服务器外部 IP 或 localhost。
说实话,我不明白为什么,配置与旧服务器完全相同。
此致
Jagster
(Jakke Lehtonen)
2
这种情况已经存在很久了。这也是我将 Discourse 迁移到单独 VPS 的主要原因。
不过,如果能解决这个问题就太好了,这样我每个月可以节省大约 40 欧元。
Oni
3
老实说,我以前没有遇到过这个问题,我的网站和我的 discourse 安装一直都在同一台服务器上。
pfaffman
(Jay Pfaffman)
4
我猜是 DNS 问题。
你的 /etc/hosts 文件是否将你的主机名与 127.0.0.1 地址关联起来了?
如果是,请删除本地主机 IP,因为容器无法连接到那里。(你也可以将外部主机 IP 包含在容器的 hosts 文件中。)
Oni
5
这不是 DNS 问题,因为 docker 容器找到了正确的域名 IP 地址。当我从 discourse 容器 curl 时,请求超时,因为它无法连接到 443 端口。
1 个赞
Oni
6
好的,我已经设法让它工作了。
所以,任何有兴趣的人(例如:@Jagster)
如果你在 Linux 上使用防火墙(我使用的是 arno-iptables-firewall)
- 列出你的网络设备“ifconfig”,默认情况下 docker 会创建一个名为 docker0 的网络设备
- 打开你的防火墙配置并将 docker0 放入 TRUSTED_IF 部分
- 重启你的防火墙,然后重启 docker
2 个赞
system
(system)
关闭
7
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.