Il sito web non reindirizza a https

Ciao,

Quando digito ad esempio “thenameofmywebsite.com” nel browser, non viene reindirizzato automaticamente alla versione sicura SSL https.

Dove posso modificare questa impostazione per Discourse? Grazie.

Discord è un prodotto diverso, presumo tu intenda Discourse.

Come hai configurato SSL? Come è stata installata questa istanza?

Se hai seguito la guida standard, la reindirizzazione HTTPS funziona in modo predefinito, il che suggerisce che hai installato con un metodo diverso o hai modificato la configurazione dopo l’installazione.

Scusa, errore di battitura.

Ecco il mio file discourse.conf

server {

    if ($host = wolcengame.net) {
        return 301 https://$host$request_uri;
    } # gestito da 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;

Quindi c’è una differenza tra https://wolcengame.net e www.wolcengame.net. Il primo link funziona e carica la pagina, mentre cliccando sul secondo viene reindirizzato a https://www.wolcengame.net e appare uno schermo nero, senza caricamento di nulla.

Non ho idea di cosa non vada e di come risolvere il problema.

Rimuovi questa parte, quindi riavvia nginx e dovrebbe funzionare correttamente.

Non credo che sia cambiato nulla. Il problema è ancora lì. Qualche altra idea?

Quella configurazione può essere modificata in molti modi.

  1. Imposta il reindirizzamento HTTPS solo sul dominio che preferisci
  2. Imposta un reindirizzamento da non-www a www (o viceversa)
  3. Assicurati di avere l’hostname corretto di Discourse nel file yml

Ciao Bhanu.

  1. HTTPS è configurato per il mio dominio (come hai già notato dai link forniti al mio sito web)
  2. La reindirizzamento da www a non-www è impostato, come hai già notato dal codice che ho fornito
  3. L’hostname di Discourse nel file yml è corretto, come hai notato dal fatto che il mio sito web è attivo e funzionante.

DISCOURSE_HOSTNAME: wolcengame.net

Ho un altro sito web con la stessa configurazione del mio discourse.conf, e lì non si presenta un problema simile a questo.

La mia domanda è: c’è qualcosa in Discourse che interferisce con il reindirizzamento di nginx? Ho provato di tutto ieri e mi sono rimasto senza idee per risolvere questo problema.

Questo è il mio secondo sito web, www.koktailmolotov.com. Come vedi, se clicchi sul sito, viene reindirizzato automaticamente al formato https://koktailmolotov.com. Le impostazioni di configurazione sono le stesse del mio sito Discourse.

Non è possibile, poiché tutto il traffico è gestito da nginx esterno. Assumo che tu stia eseguendo Discourse con un template socketed e che il proxy nginx esterno stia gestendo tutto il traffico.

Se puoi pubblicare la configurazione di nginx per Discourse, potrei essere in grado di aiutarti a risolvere il problema.

Di seguito l’intera configurazione nginx di discourse.conf aggiornata a oggi:

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; # gestito da Certbot
ssl_certificate_key /etc/letsencrypt/live/wolcengame.net/privkey.pem; # gestito da Certbot
ssl_dhparam /etc/letsencrypt/live/wolcengame.net/dhparams.pem;
include /etc/nginx/snippets/ssl.conf;

http2_idle_timeout 5m; # aumentato rispetto al valore predefinito di 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;

}

}

Modifica questo in

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

Rimuovi www.wolcengame.net da qui

e crea un blocco separato come

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;

Per essere chiari, questo non è assolutamente un problema di Discourse.

Discourse può funzionare solo con un FQDN. Il problema è che avevi configurato due FQDN e non avevi configurato correttamente i reindirizzamenti. Le soluzioni a entrambi questi problemi sono già state fornite in altri argomenti.

Sei un genio, questo ha risolto il problema. Grazie mille