Site não redireciona para https

Olá,

Quando digito, por exemplo, “thenameofmywebsite.com” no navegador, ele não redireciona automaticamente para o SSL seguro (https).

Onde posso alterar isso no Discourse? Obrigado.

O Discord é um produto diferente. Estou assumindo que você se refere ao Discourse.

Como você configurou o SSL? Como essa instância foi instalada?

Se você seguiu o guia padrão, o redirecionamento HTTPS funciona como padrão, o que sugere que você ou instalou por um método diferente ou alterou a configuração após a instalação.

Desculpe, erro de digitação.

Aqui está meu arquivo discourse.conf

server {

    if ($host = wolcengame.net) {
        return 301 https://$host$request_uri;
    } # gerenciado pelo Certbot

    listen 80;
    listen [::]:80;
    server_name wolcengame.net www.wolcengame.net; 
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name wolcengame.net www.wolcengame.net;

Então, há uma diferença entre https://wolcengame.net e www.wolcengame.net. O primeiro link funciona e carrega a página, mas ao clicar no segundo, ele se transforma em https://www.wolcengame.net e aparece uma tela escura, sem carregar nada.

Não faço ideia do que está errado ou como corrigir isso.

Remova esta parte e reinicie o nginx; deve funcionar corretamente.

Não acho que nada tenha mudado. O problema persiste. Alguma outra ideia?

Essa configuração pode ser alterada de várias formas.

  1. Defina apenas o redirecionamento HTTPS para o domínio que você preferir
  2. Configure um redirecionamento de não-www para www (ou vice-versa)
  3. Certifique-se de que você tenha o hostname correto do Discourse no arquivo yml

Olá Bhanu.

  1. O HTTPS está configurado para meu domínio (como você já notou pelos links fornecidos ao meu site).
  2. A redireção está configurada de www para não-www, como você já observou no código que forneci.
  3. O hostname do Discourse no arquivo yml está correto, como você notou, já que meu site está no ar e funcionando.

DISCOURSE_HOSTNAME: wolcengame.net

Tenho outro site com a mesma configuração que meu discourse.conf, e não há nenhum problema semelhante a esse lá.

Minha pergunta é: há algo no Discourse que esteja interferindo na redireção do Nginx? Tentei de tudo ontem e já esgotei minhas ideias para resolver esse problema.

Este é meu segundo site: www.koktailmolotov.com. Como você pode ver, ao clicar no site, ele redireciona automaticamente para o formato https://koktailmolotov.com. As configurações do arquivo de configuração são as mesmas do meu site do Discourse.

Isso não é possível, já que todo o tráfego é tratado pelo nginx externo. Estou assumindo que você está executando o Discourse no modelo com sockets e que o proxy nginx externo está lidando com todo o tráfego.

Se você puder postar a configuração do nginx para o Discourse, talvez eu possa ajudá-lo a identificar o problema.

Abaixo está a configuração completa do nginx do arquivo discourse.conf de hoje:

server {

listen 80;
listen [::]:80;
server_name www.wolcengame.net;
return 301 $scheme://wolcengame.net$request_uri;

}

server {

listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name wolcengame.net www.wolcengame.net;

ssl on;
ssl_certificate /etc/letsencrypt/live/wolcengame.net/fullchain.pem; # gerenciado pelo Certbot
ssl_certificate_key /etc/letsencrypt/live/wolcengame.net/privkey.pem; # gerenciado pelo Certbot
ssl_dhparam /etc/letsencrypt/live/wolcengame.net/dhparams.pem;
include /etc/nginx/snippets/ssl.conf;

http2_idle_timeout 5m; # aumentado do padrão de 3m

location / {
    proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock;
    proxy_set_header Host $http_host;
    proxy_http_version 1.1;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;
    proxy_set_header X-Real-IP $remote_addr;

}

}

Altere isso para

return 301 https://wolcengame.net$request_uri;

Remova www.wolcengame.net daqui

e crie um bloco separado como

listen 443 ssl;
listen [::]:443 ssl;
server_name www.wolcengame.net;
ssl_certificate /etc/letsencrypt/live/wolcengame.net/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/wolcengame.net/privkey.pem; 
return 301 https://wolcengame.net$request_uri;

Para esclarecer, isso não é um problema do Discourse.

O Discourse só pode operar sob um único FQDN. O problema é que você configurou dois e não configurou corretamente seus redirecionamentos. As soluções para ambos os problemas já foram respondidas em outros tópicos.

Você é um gênio, isso resolveu o problema. Muito obrigado.