Desativando o fórum (NÃO o excluindo)

Olá pessoal,

Atualmente não consigo administrar meu fórum e quero desativá-lo por um tempo, pois ele precisa de um novo link SSL, o que ainda não descobri como fazer. Não quero que nenhum de nossos usuários corra o risco de ser hackeado.
É possível impedir que todos entrem no fórum por um tempo sem excluí-lo completamente?

Agradeceria muito sua ajuda com isso. Obrigado!

1 curtida

Você já considerou colocar seu site em modo somente leitura? Isso pode ser encontrado na seção de backups das configurações do administrador seu-nome-de-site/admin/backups isso tornará seu site somente leitura para que os usuários não possam postar, etc.

2 curtidas

Se for uma instalação padrão, uma reconstrução deve obter um novo certificado SSL.

Se você não puder ou não quiser isso, poderá colocá-lo em modo somente leitura, como sugerido.

Você também pode executar ./launcher stop app para parar o contêiner.

1 curtida

Olá Ondrej,

Obrigado pela sua resposta. Li sobre isso, mas ainda não impede que os usuários acessem o fórum, o que já representa um problema, pois atualmente ele não é seguro (sem https no início do link, ou seja, sem certificado de segurança).

Se sua intenção é trazê-lo de volta assim que tiver tempo para configurar o SSL, o que eu faria seria tentar usar primeiro os modelos SSL integrados. O Discourse facilita muito a obtenção e o uso do Let’s Encrypt para SSL, então provavelmente vale a pena tentar isso antes de recorrer ao desligamento.

Se você quiser tentar, remova o # das segunda e terceira linhas perto do topo do seu arquivo app.yml:

## Descomente estas duas linhas se desejar adicionar o Let's Encrypt (https)
  #- "templates/web.ssl.template.yml"
  #- "templates/web.letsencrypt.ssl.template.yml"

Em seguida, encontre #LETSENCRYPT_ACCOUNT_EMAIL: me@example.com mais abaixo no mesmo arquivo, novamente remova o # e também substitua o endereço de e-mail de exemplo.

Finalmente, reconstrua o Discourse e ele deverá obter um certificado Let’s Encrypt e configurar o HTTPS, redirecionando tudo de HTTP.

cd /var/discourse
./launcher rebuild app
4 curtidas

Como você instalou o Discourse?

Infelizmente, não sei como se instala o Discourse nem como isso funciona em geral. Meu pai configurou o fórum para o negócio dele, mas faleceu este ano. Temos um servidor com Linode e é possível que o Discourse esteja instalado nele.

Obrigado Simon pela sua explicação detalhada. Meu pai montou este site, mas ele faleceu este ano. Não tenho ideia de como instalar e configurar o Discourse e não sei sobre sites em geral. Onde encontro este arquivo appl.yml? Meu pai teria instalado o Discourse em nosso servidor de domínio? Usamos Linode e há um “Linode” chamado “Discourse” nele. Eu simplesmente não sei o que isso significa e como acessar a instalação.
Obrigado pela sua ajuda.

1 curtida

Sinto muito pela sua perda. :pray:

Em primeiro lugar, sugiro enfaticamente que você garanta que os “backups” estejam ativados para esse Linode do “Discourse”. Este deve ser seu primeiro passo imediato.

Em segundo lugar, certifique-se de que os backups do Discourse também estejam ativados em https://yoursitedomain.com/admin/backups

Em terceiro lugar, você pode tentar executar uma atualização do painel de administração da interface do usuário, diretamente do seu navegador da web, pois isso pode resolver seus problemas: https://yoursitedomain.com/admin/upgrade

3 curtidas

Isso é terrível. Sinto muito por ouvir isso. Se você não sabe como usar o SSH para acessar esse servidor, o mais fácil é fazer um backup, fazer uma nova instalação e restaurar o backup lá.

Se você conseguir acesso SSH ao servidor, poderá executar os comandos descritos aqui.

Teoricamente, eles devem ser capazes de redefinir a senha SSH do Linode:
https://www.linode.com/docs/guides/accounts-and-passwords/#resetting-the-root-password

2 curtidas

Isso soa bem fácil e permitiria importar a configuração de e-mail funcional. Eu provavelmente faria uma instalação limpa, pois parece que esta está quebrada.

Não tenho certeza se concordo com isso. O padrão, conforme o app.yml de exemplo incluído, é não usar os modelos web.ssl ou web.letsencrypt.ssl e a falta de qualquer redirecionamento HTTP descrito por @Mads parece ser apenas a manutenção desse padrão, ou seja, nunca teve SSL.

Isso parece bastante promissor como sendo o servidor que hospeda o Discourse. Se você ainda quiser desligá-lo, pode simplesmente desligar esse Linode, mas dependendo de como foi configurado, pode haver outras coisas nesse servidor também.

Como @sdpiowa disse, você pode redefinir a senha conforme descrito no link que ele forneceu. Role até o final para Redefinindo a Senha Raiz. Você não precisa fazer isso se já tiver a senha raiz para esse servidor.

Com a senha raiz em mãos, a maneira mais simples de acessar o servidor será usando o console LISH no gerenciador de nuvem Linode.

https://www.linode.com/docs/guides/using-the-lish-console/

Na última etapa, quando você vir login: no console, digite root e pressione Enter, depois digite a senha e pressione Enter novamente. Neste ponto, você terá um shell e poderá executar comandos no servidor - observe que você deve ter cuidado para não cometer erros aqui, na maioria das vezes um erro apenas levará a um erro e nada acontecerá, mas erros em um shell raiz podem levar a efeitos colaterais prejudiciais.

Antes de prosseguir, certifique-se de criar um backup manual do Discourse e, após a conclusão, faça um snapshot manual no gerenciador de nuvem Linode. Dessa forma, você sabe que tem tudo o que precisa para se recuperar se algo der errado.

Comece mudando de diretório para chegar ao local certo:

cd /var/discourse

As imagens Linode geralmente têm o nano instalado, que é um editor de texto bastante fácil de usar. Edite o arquivo app.yml:

nano containers/app.yml

Provavelmente você não poderá usar o mouse para mover o cursor, então use as teclas de seta para navegar pelo arquivo e fazer as alterações descritas anteriormente. Quando terminar, pressione CTRL+X para sair e você será perguntado se deseja salvar, pressione Y para responder sim e você será perguntado o nome do arquivo, apenas pressione Enter e ele salvará o arquivo e sairá do nano.

Finalmente, reconstrua o Discourse e não feche a janela LISH após iniciar isso:

./launcher rebuild app

Se tudo correr bem, provavelmente em 10-20 minutos o Discourse estará de volta e funcionando com SSL.

Já faz bastante tempo que o https não é o padrão. É uma aposta razoável que o sistema operacional também esteja além do fim de sua vida útil.

Na minha opinião, a solução mais fácil e segura para um novato é uma instalação limpa, mas você generosamente forneceu instruções que têm potencial para ajudá-lo a resolver isso!

Obrigado a todos pela ajuda e pelas explicações detalhadas! Talvez eu tenha encontrado alguém que possa me ajudar com isso e farei questão de mostrar a eles seus conselhos. Eu realmente aprecio isso :slight_smile:

4 curtidas

Vocês são incríveis!

Obrigado por todas as informações.

Matt aqui, ajudando Mads, um sysadmin com experiência razoável, bem confortável em *nix, Docker me fez cavar um pouco mais fundo, mas consegui.

O log do Letsencrypt disse:

A CA está processando seu pedido, por favor, aguarde. (1/30)
community.fruityknitting.com:Erro de verificação:Buscando https://community.fruityknitting.com/.well-known/acme-challenge/9NEyZhZzZQ9FwGrqGqDNblLiwtOQQGlYr-9nSFUwKhw: Conexão recusada**

A configuração do Nginx tinha um redirecionamento imediato da porta 80 para https e então acho que Andrew fez o Discourse verificar uma conta válida via Patreon, esse redirecionamento da porta 80 com o redirecionamento do Patreon provavelmente impediu o Letsencrypt de validar o arquivo local.

Pare o redirecionamento da porta 80 do Nginx, reiniciei o Nginx e executei novamente:
/shared/letsencrypt/acme.sh --cron --home /shared/letsencrypt

E sucesso.

Agradeço os comentários úteis de todos.

Tudo de bom.

3 curtidas

o redirecionamento do Patreon não estava em https?

Twas Robert, talvez mais claramente declarado como:

Redirecionamento incondicional do Nginx de 80 para 443, e então o aplicativo Discourse encaminhando imediatamente para o Patreon para uma sessão ou cookie ou algo assim, eu imagino…

O suficiente para quebrar a validação do Letsencrypt.

Parece certo?

Acredito que isso seja nativo para forçar toda a comunicação via https a partir de qualquer entrada via http.
A coisa do Patreon parece um pouco ‘estranha’?
O que está tentando fazer que você não poderia fazer na camada de aplicação 100% via https?
Por que o proxy reverso tem que se importar?

Experimente, Robert…
https://community.fruityknitting.com/