Olá,
Alguém pode me orientar ou fornecer exemplos de como configurar o WebSocket com HTTPS para o Discourse?
O HTTP simples funciona, mas eu precisaria dele sobre HTTPS.
Olá,
Alguém pode me orientar ou fornecer exemplos de como configurar o WebSocket com HTTPS para o Discourse?
O HTTP simples funciona, mas eu precisaria dele sobre HTTPS.
Para que conste, como li em sua outra postagem, isso pode valer a pena tentar
Na verdade não, eu executo outros sites sem problemas nas portas 80/443 como eu disse, já estou executando sites com LiteSpeed, nem mesmo o servidor de e-mail está bloqueado. Eu até tentei com a porta 8443, mas nada apareceu nela. Via WebSocket, eu consegui pelo menos executá-lo via HTTP, mas ele estava quebrado devido a conteúdo misto via HTTPS.
O Discourse não suporta nenhuma combinação de porta além de 80/443.
O Discourse pode não suportar, mas o Docker suporta, mas ainda posso passá-lo com sockets para o Nginx externo.
Isso é acima de 8080.
Meu único problema é que não consigo fazer o HTTPS funcionar de forma alguma.
É por isso que eu disse que o Discourse não suporta nenhuma porta além de 80/443.
Se você realmente quiser tentar qualquer combinação alternativa, estará por sua conta e risco.
Essa é uma coisa realmente estúpida, se me perguntar. As pessoas geralmente executam vários serviços no mesmo servidor, você está literalmente restringindo os usuários a não fazerem isso. Além disso, os contêineres Docker geralmente não estão sozinhos no mesmo servidor. Você parece estar pressionando outras pessoas a comprar servidores separados, apenas porque não quer dar suporte a outras portas além da padrão.
Literalmente milhares de pessoas hospedam outros serviços no mesmo servidor que o Discourse. Existem maneiras de fazer isso. Se você pesquisar, é um caso de uso muito bem suportado. Você precisa colocá-lo atrás de um proxy reverso para conseguir isso.
Aqui está uma maneira de fazer isso Run other websites on the same machine as Discourse
Eu tenho meu sandbox público do Discourse hospedado em um NUC que hospeda vários outros serviços atrás do Nginx Proxy Manager, mas essa é a minha maneira de fazer isso. Não é oficialmente suportado, mas eu sei como lidar com isso.
Eu já tentei isso antes também, não funciona corretamente. De qualquer forma, não vejo o sentido do suporte neste caso, porque como você disse, milhares de pessoas fazem isso. No entanto, não há etapas claras para fazer isso funcionar em nenhum lugar no Github ou Wiki. Apenas a opção direta 80/443, que age como um único serviço.
Você precisará de um proxy reverso, como Como configurar o Discourse em um servidor com sites Apache existentes.
Exceto que eu não estou executando o Apache de qualquer maneira, eu preferiria precisar do Nginx e do LiteSpeed, mas, no entanto, seria mais simples apenas permitir o uso de outras portas, então podemos facilmente passar isso para outros servidores web.
Não, não entendo nada sobre docker. Mas quando tive um discourse no mesmo VPS onde tinha Nginx e Varnish antes do Discourse, usei sock sem problemas. Mas é uma coisa diferente?
Atualmente, tenho o Discourse em um VPS diferente daquele onde está o Nginx/Varnish, então não posso usar socket. É por isso que o Varnish envia todos para a porta 82 e de lá para o VPS do Discourse. E é por isso que tenho:
expose:
- "82:80"
Mas isso é algo totalmente diferente do que o Discourse pode usar apenas as portas 80/443?
Então você pode encontrar o guia do nginx ou usar este como exemplo.
Isso não vai acontecer. Você precisará de um proxy reverso que faça https.
Encontrei uma maneira de fazer funcionar, não foi tão difícil afinal, e você pode executar o Discourse em qualquer porta que desejar.
Certo. Você pode ter o container docker do Discourse abrindo a porta 82 (ou qualquer porta) se você tiver o Varnish na frente para que o URL seja um URL https normal. Desde que o Varnish gerencie os certificados https, você deve ser capaz de prosseguir como espera.