用户概览:最后IP地址 172.17.0.1


嗨,我有点失望的是,在 IP 地址方面似乎存在冲突。我按照官方指南安装了论坛,因为指南中说这是唯一支持的自托管版本。所以我真的希望几乎所有东西都能正常工作,但除了这一点。

每个用户都会获得一个 172.17.x.x 的 IP 地址 :frowning: 我认为这与 Docker 系统有关。

我唯一知道的、可能对 Docker 网络配置产生影响的更改是在设置了一个全新的 Docker 论坛后进行的以下更改:

  1. pico /etc/docker/daemon.json
  2. 插入
{
  "iptables": false
}
  1. sudo systemctl restart docker

(因为在我配置/恢复论坛数据时,我想通过我的 debian 主机防火墙 (ufw) 来控制 80/443 访问,只允许我的公共 IP 地址,如果我不执行上述步骤,Docker 会忽略这一点。)

但我无法想象这个配置会影响到用户注册/访问时记录的 IP 地址。

附注:即使你不是开发者,只是一个普通用户,如果你有一个自托管的 Docker 实例,我想知道你是否能看到你用户的不同公共 IP 地址 :slight_smile:

我已经查看了这些帖子:

但我据我所知,我没有使用代理。
这是在我开始运行 docker-install 脚本之前检查的第一件事:
我的 debian VPS 主机上没有安装 apache 或 nginx。我无法相信这与 docker 代理/nginx 网页服务器有关。如果您有任何可以检查的想法,我将不胜感激 :slight_smile:

编辑:
这是我主机上的 IP 配置。它确实看起来像 172.17.x.x 的 IP 地址与 docker 镜像有关:

user@linux-host-system:~$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 4a:x:x:x:x:02 brd ff:ff:ff:ff:ff:ff
    altname enp0s18
    inet <my-public-ipv4-adress>/24 brd 37.x.x.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 2a0e:x:x:x::1/64 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::x:x:x:x/64 scope link
       valid_lft forever preferred_lft forever
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:x:x:x:xx:d7 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::x:x:x:x/64 scope link
       valid_lft forever preferred_lft forever
101: veth90d312b@if100: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default
    link/ether 32:x:x:x:x:75 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fe80::3002:x:x:3775/64 scope link
       valid_lft forever preferred_lft forever

如果你不做这些更改,就不会有问题。

如果你想这样做,你需要比我更了解 Docker,才能为 Discourse 获取正确的 IP 地址。

也许你可以从 templates/cloudflare.template.yml 中获得一些提示。上面写着 set_real_ip_from 的部分可能就是你想要的。

1 个赞

@pfaffman 感谢您的想法!

最后,我已经以某种方式发布了解决方案:
删除文件 /etc/docker/daemon.json 并执行 systemctl restart docker,然后稍等片刻,论坛就重新加载了,并在我的用户概览中显示了我当前正确的公共 IP 地址。 :smile:

1 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.