O endereço IP na informação do usuário do Discourse mostra o endereço IP do CloudFlare

Devido ao uso do endereço reverso do CloudFlare.

Todos os endereços IP dos usuários obtidos pelo Discourse são, na verdade, os endereços dos servidores do CloudFlare.

Modificação

Felizmente, o Discourse já oferece uma solução relacionada.

É necessário adicionar o seguinte conteúdo ao arquivo de configuração do Discourse:

  • “templates/cloudflare.template.yml”


Em seguida, reconstrua sua instância de instalação do Discourse.

./launcher rebuild app

O comando acima pode ser usado para reconstruir diretamente o Discourse. É importante notar que a reconstrução leva cerca de 10 minutos, durante os quais o sistema não pode ser acessado.

Após a atualização do sistema, verifique e você verá que o sistema agora consegue obter o endereço IP correto.

2 curtidas

Grande, isso está usando o CDN da Cloudflare para aceleração de proxy? Por que sempre recebo um erro 502 da Cloudflare para o servidor de origem aqui, e ocasionalmente funciona. O servidor de origem está na China. É um problema de rede, um problema de certificado SSL ou há algo que preciso prestar atenção na configuração da Cloudflare?

Eu uso o serviço CloudFlare.

Até agora não houve erro 502, provavelmente o tempo de resposta do seu servidor de origem excedeu o valor definido.

O problema foi encontrado, eu estava fazendo o encaminhamento interno através de balanceamento de carga TCP e não o configurei corretamente. Mais tarde, foi resolvido. No entanto, o servidor de origem está na China e usar o CloudFlare na verdade o tornou mais lento. Atualmente, desisti do CloudFlare. O encaminhamento interno também envolve a resolução do endereço IP do usuário. Usei real_ip_header proxy_protocol para resolver.

2 curtidas

Há um problema com o registro ICP. Se o servidor for doméstico, não haverá problema de registro, e o uso da aceleração de dados de todo o site da Tencent pode ser melhor do que o CloudFlare.

O registro foi tratado, testei o da Alibaba, a aceleração não é um problema, mas é bem caro, como é o preço da Tencent, vendo que o CloudFlare é gratuito

Não é barato, este site: https://www.cwikius.cn/ nós usamos o acelerador da Tencent, e não tínhamos muito tráfego de qualquer maneira.

Atualmente é inferior a 5 yuans por mês.

Entendido, obrigado pelo feedback e suporte, grande mestre.

Quando eu usava o Ubuntu, adicionar esta linha permitia ver o IP real. No entanto, com o Rocky 9.3, adicionar esta linha impede a reinicialização.

É provável que seja um problema com a versão do sistema operacional.

O próprio Ubuntu é usado oficialmente, mas também é implantado em um contêiner, então não deve haver muita diferença em relação ao sistema operacional que você usa.

Troquei para ubuntu22.04 e o mesmo erro persiste

FAILED

Pups::ExecError: /tmp/add-cloudflare-ips falhou com retorno #<Process::Status: pid 4279 exit 8>
Localização da falha: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn’
exec falhou com os parâmetros “/tmp/add-cloudflare-ips”
bootstrap falhou com código de saída 8
** FALHA AO INICIALIZAR ** por favor, role para cima e procure por mensagens de erro anteriores, pode haver mais de uma.
./discourse-doctor pode ajudar a diagnosticar o problema.

Parece que o Discourse está tendo algum erro ao executar, você instalou o Docker container no servidor?

Qual é a versão do Docker?

Docker versão 26.0.0, build 2ae903e

Eu costumava usar o JiguCloud e não tinha problemas. Agora com o Alibaba Cloud não funciona. Será que o Alibaba Cloud tem alguma medida de segurança?!

Pode ser.

Muitas versões do sistema operacional doméstico foram modificadas. Algumas coisas não podem ser usadas.

Finalmente, após reiniciar o servidor, ele voltou a funcionar inexplicavelmente…

Isso também é muito bizarro. Olhando apenas para o erro, não consigo ver nada.

Pups::ExecError: /tmp/add-cloudflare-ips falhou com retorno #<Process::Status: pid 5134 exit 8>
Localização da falha: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn’
exec falhou com os parâmetros “/tmp/add-cloudflare-ips”
bootstrap falhou com código de saída 8
** FALHA AO INICIALIZAR ** por favor, role para cima e procure por mensagens de erro anteriores, pode haver mais de uma.
./discourse-doctor pode ajudar a diagnosticar o problema.
f51291d274ba2564076ba412f28fb445db9c916f00a6d1fb76d2613e773ccfcf
Não sei o que está acontecendo!!!

Parece que outras pessoas já tiveram esse problema, consulte isto: Failed to bootstrap (/tmp/add-cloudflare-ips) - #21 by GreenOWL

Alguém tem um analisador de vídeos do Bilibili? O plugin que eu usava parece não funcionar mais.