因为使用了 CloudFlare 的反向地址。
所有 Discourse 获得的用户的 IP 地址其实是 CloudFlare 的服务器地址。
修改
好在 Discourse 已经提供了相关的解决方案。
需要在 Discourse 的配置文件中,添加下面的内容:
“templates/cloudflare.template.yml”
然后重新 Build 你的 Discourse 的安装实例。
./launcher rebuild app
使用上面的命令就可以对 Discourse 直接进行重构了,需要注意的是重构需要 10 分钟左右,这 10 分钟系统是无法访问的。
重新刷新系统后进行查看,系统已经能够获取到正常的 IP 地址了。
2 Likes
sober
February 26, 2024, 1:28pm
2
大佬这个用的是CloudFlare的cdn 代理加速吗,我这边怎么总是出现CloudFlare到源服务器502提示,偶尔可以通,源服务器在中国,是网络问题,还是ssl证书问题,或者CloudFlare配置需要注意什么
我使用的是 CloudFlare 服务。
到目前为止没有出现 502 错误,应该可能是你的源服务器的响应时间超过了设定值。
sober
March 6, 2024, 7:52am
4
问题查到了,我通过tcp负载均衡做内网转发,没有配置好,后面处理好了。但是源服务器在中国,使用CloudFlare反而变慢了,目前已经放弃了CloudFlare。内网转发也涉及到用户ip地址的解析,使用real_ip_header proxy_protocol解析到了
1 Like
有 ICP 备案的问题,如果是国内的服务器,没有备案问题,用腾讯的全站数据加速可能比 CloudFlare 更好。
sober
March 6, 2024, 8:30am
6
备案处理好了,试了阿里的,加速没问题,就是收费挺贵的,腾讯收费怎么样,看CloudFlare是免费的
sober:
腾讯收费
谈不上便宜,这个网站:https://www.cwikius.cn/ 我们挂了腾讯的加速,本来也没啥流量。
一个月现在是小于 5 元。
5804829
(sfhgfds244)
March 28, 2024, 5:19pm
9
以前用ubuntu的时候加这一行就可以看到真实ip 可是用rocky 9.3的话,加这一行,就无法重新启动了。
sfhgfds244:
rocky 9.3
有可能是操作系统版本的问题吧。
官方自己用的是 ubuntu,但是也是部署在容器上的,和你用什么操作系统应该影响不大。
5804829
(sfhgfds244)
March 28, 2024, 6:06pm
11
我换成ubuntu22.04 还是一样的报错
FAILED
Pups::ExecError: /tmp/add-cloudflare-ips failed with return #<Process::Status: pid 4279 exit 8>
Location of failure: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn’
exec failed with the params “/tmp/add-cloudflare-ips”
bootstrap failed with exit code 8
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
貌似是 Discourse 在执行的时候有什么错误,在服务器上装 Docker 容器了吗?
那么 Docker 的版本是多少呢?
5804829
(sfhgfds244)
March 29, 2024, 12:18am
13
Docker version 26.0.0, build 2ae903e
5804829
(sfhgfds244)
March 29, 2024, 3:04am
14
以前用甲骨云就没事 现在是阿里云就不行 难道是阿里云有什么安全措施?!
有可能是这样的。
国内的很多操作系统版本是魔改过的。一些东西没有办法用。
5804829
(sfhgfds244)
March 29, 2024, 9:35am
16
最后在一次重启服务器的情况下 竟然莫名其妙的又好了…