Como o Discourse agora tem suporte para rodar em um Raspberry Pi, rodar uma pequena instância em seu laboratório doméstico se tornará um caso de uso comum. No entanto, muitos ISPs residenciais bloqueiam o tráfego de entrada para as portas 80/443 que o Discourse necessita.
Acho que é melhor mencionar a porta. Se o usuário decidir usar o túnel argo, ele precisará configurar sua porta da mesma forma que as configurações do túnel. Por exemplo:
Segui tudo conforme seu guia acima e tudo funciona bem, no entanto;
Ao clicar no link no e-mail para ativar minha conta, sou levado de volta para a página correta com um botão de ativação, porém este botão não funciona. Pesquisei orientações neste fórum e parece ser um problema de domínio para IP?
Confirmei que force_https está definido como true na configuração.
Alguma ideia / você encontrou este problema (captura de tela anexada) do botão que não faz nada?
cloudflared tunnel info ******
2022-01-24T04:55:47Z INF Não é possível determinar o caminho do certificado de origem padrão. Nenhum arquivo cert.pem em [~/.cloudflared ~/.cloudflare-warp ~/cloudflare-warp /etc/cloudflared /usr/local/etc/cloudflared] originCertPath=
2022-01-24T04:55:47Z ERR Você precisa especificar o caminho do certificado de origem com a opção --origincert, ou definir a variável de ambiente TUNNEL_ORIGIN_CERT. Veja https://developers.cloudflare.com/argo-tunnel/reference/arguments/ para mais informações. originCertPath=
erro ao analisar o ID do túnel: Erro ao localizar o certificado de origem: o cliente não especificou o caminho do origincert ao executar do terminal
Qual é o erro atual que você está recebendo ao acessar o endereço do seu site? É apenas uma página genérica de erro do Cloudflare Argo Tunnel?
Você poderia nos mostrar seus contêineres em execução executando o comando: docker ps e nos mostrar seus túneis em execução atuais com cloudflared tunnel list || Certifique-se de borrar sua rota argo / quaisquer contêineres não relevantes!
Qual erro você está recebendo atualmente ao navegar para o endereço do seu site? É apenas uma página de erro genérica do Cloudflare Argo Tunnel?
Não, não há nenhuma página de erro do Cloudflare Argo Tunnel.
ERR_NAME_NOT_RESOLVED
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f1bde9b70f55 local_discourse/app “/sbin/boot” 11 hours ago Up 11 hours 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp app
Quando uso este comando como usuário root cloudflared tunnel list
2022-01-24T15:55:03Z INF Não é possível determinar o caminho padrão do certificado de origem. Nenhum arquivo cert.pem em [~/.cloudflared ~/.cloudflare-warp ~/cloudflare-warp /etc/cloudflared /usr/local/etc/cloudflared] originCertPath=
2022-01-24T15:55:03Z ERR Você precisa especificar o caminho do certificado de origem com a opção --origincert, ou definir a variável de ambiente TUNNEL_ORIGIN_CERT. Veja https://developers.cloudflare.com/argo-tunnel/reference/arguments/ para mais informações. originCertPath=
Erro ao localizar certificado de origem: o cliente não especificou o caminho do certificado de origem ao executar no terminal
Quando uso este comando como usuário pi cloudflared tunnel list
Você pode obter informações mais detalhadas para cada túnel com `cloudflared tunnel info <nome/uuid>`
ID NOME CRIADO CONEXÕES
371dd57c-**************** ze****2022-01-24T03:35:19Z
Isso é normal?
Precisamos usar um subdomínio para DISCOURSE_HOSTNAME no arquivo config.yml, certo?
Atualização: Desinstalei o Cloudflared e o reinstalei com o usuário root e agora funciona. Ainda não entendo onde exatamente errei na minha tentativa anterior.
Consegui de alguma forma finalmente rodar o site no Raspberry e ele está no ar.
Eu realmente não entendo como. Removi o Cloudflared e o reinstalei com o usuário root. E funcionou…
Tenho duas perguntas:
1- Parece que meu certificado SSL não está funcionando corretamente, então não consigo fazer login na minha conta de administrador no Discourse. (Parece estar rodando em uma aba anônima. Talvez seja algo sobre cache.) Você está usando full ou full(strict)?
Se você já fez login e tem um arquivo de configuração em ~/.cloudflared/, eles serão copiados para /etc/cloudflared/.
Se você não tem um arquivo de configuração, precisará criar um arquivo config.yml com os campos listados acima. Você pode passar um arquivo personalizado executando cloudflared --config CONFIG-FILE service install.
Verifiquei, não tenho um arquivo de configuração em /etc/cloudflared/. Neste caso, o que devo fazer para rodar este serviço automaticamente?
Acho que reinstalar teria resolvido o problema do cloudflared não encontrar o certificado…
Em relação à execução do Cloudflare como um serviço - o arquivo de configuração que você criou ao executar o serviço manualmente precisará ser movido para /etc/cloudflared.
Não tenho certeza sobre vincular sites pessoais aqui, então, por favor, me avise se eu precisar remover isso, mas eu cobri isso em um dos meus blogs na seção chamada: ‘Configurar e Executar o Cloudflared como um Serviço’