Recebi links do example.com. De onde eles vêm?

Olá,

Movi uma instância do Discourse de um host para outro, de uma configuração multisite para uma configuração de host único com um único contêiner, usando exportação/importação de backup, e alguns links usam www.example.com em vez do host correto.

Como posso corrigir isso?

Configurei DISCOURSE_HOST com o nome do host, mas isso não parece resolver o problema. Existe alguma consulta SQL que eu possa usar para encontrar ocorrências de www.example.com?

Talvez seja necessário remapear conforme descrito em Alterar o nome de domínio ou renomear meu Discourse??

Minha melhor suposição é que, em algum momento, algo foi configurado com esse nome de host. É difícil imaginar como isso possa ter acontecido, no entanto.

Olá @hellekin

Você pode pesquisar rapidamente todas as configurações do seu site pela string “example” da seguinte forma, a partir do console do Rails:

SiteSetting.where('value LIKE ?', "%example%")

Por exemplo, na nossa instância do Discourse:

[1] pry(main)> SiteSetting.where('value LIKE ?', "%unix\.com%").count
=> 10

Se quiser verificar o REDIS, tente (assumindo que seu contêiner de dados esteja em app, altere conforme necessário):

docker exec -it app redis-cli

Em seguida, tente algo como:

127.0.0.1:6379> KEYS *example*
(lista ou conjunto vazio)

Outro exemplo:

127.0.0.1:6379> KEYS *unix*
1) "default:_CACHE:onebox__https://www.unix.com/man-page/linux/1/df/"
2) "ANON_CACHE_text/html,application/xhtml+xml,application/signed-exchange;v=b3,application/xml;q=0.9,*/*;q=0.8_https_community.unix.com/t/passing-variables-to-awk/150198|m=true|c=true|b=true|t=|ca=|l=_count"
3) "default:_CACHE:onebox__https://www.unix.com/aix/56317-timestamp-sh_history-using-ksh-shell.html"

Para visualizar rapidamente todas as suas configurações globais, você pode executar o seguinte no console do Rails, e todas as configurações globais ficarão visíveis (tenho certeza de que existe uma maneira melhor de fazer isso…, mas isso é rápido e funciona bem):

[1] pry(main)> GlobalSetting.as_json

Espero que ajude.

Seguindo o link de @pfaffman, percebi que usei DISCOURSE_HOST em vez de DISCOURSE_HOSTNAME.

As dicas de investigação úteis de @neounix não produziram nenhum resultado, então espero que o primeiro problema tenha levado à situação atual. Estou recriando o contêiner para ver…

Contêiner recriado e os links mostram as imagens que antes estavam quebradas, então acho que está resolvido. Obrigado a ambos!

@pfaffman você poderia reconstruir o HTML para ActivityPub Support: Phase 1 RFC - #27 by hellekin para confirmar a correção?

Sim, isso faz todo o sentido agora que analisei o código. A configuração do Discourse define o hostname padrão como "www.example.com" no arquivo de configuração. Então, se houve um erro no arquivo de build (como você descreveu, @hellekin), parece que você receberá o padrão :slight_smile:

Talvez um dia alguém mude esse padrão de configuração para ler:

hostname = "www.hostname-que-falta-no-arquivo-yml.com"

:slight_smile: :slight_smile:

Eu não tenho privilégios de administrador aqui. Se você quiser confirmar se os embeds do seu site funcionam em outros sites, pode testar em try.discourse.org.

Acho que hostname = "please.set.DISCOURSE_HOSTNAME.env.example" seria mais explícito e compatível com o RFC.

Obrigado, já testei em outro lugar, só queria que este post fosse atualizado :slight_smile:

O botão foi pressionado. Parece que a imagem está aparecendo!