Problèmes d'installation de discourse autonome et comment utiliser une adresse IP séparée ?

J’essaie de comprendre comment installer Discourse à côté de mes autres sites Nginx, mais je continue d’obtenir ce message lors de la configuration :

AVERTISSEMENT : Le port 443 de l'ordinateur ne semble pas être accessible via le nom d'hôte : lush.gg.
AVERTISSEMENT : La connexion à http://<domaine> (port 80) échoue également.

J’ai vérifié que Cloudflare ne faisait PAS proxy de l’adresse IP. J’utilise également une adresse IP secondaire attachée au serveur ; un site Nginx existe déjà sur la première.

app.yml mis à jour

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
  - "templates/web.socketed.template.yml"
## Décommentez ces deux lignes si vous souhaitez ajouter Lets Encrypt (https)
#- "templates/web.ssl.template.yml"
#- "templates/web.letsencrypt.ssl.template.yml"

## Quels ports TCP/IP ce conteneur doit-il exposer ?
## Si vous souhaitez que Discourse partage un port avec un autre serveur web comme Apache ou Nginx,
## consultez https://meta.discourse.org/t/17247 pour plus de détails
#expose:
#- "25654:80" # http
#- "443:443" # https

Configuration Nginx mise à jour

server {
    listen <adresse IP>:80; listen [::]:80;
    server_name <domaine>;  # <-- modifiez ceci

    return 301 https://$host$request_uri;
}

server {
    listen <adresse IP>:443 ssl http2;  listen [::]:443 ssl http2;
    server_name <domaine>;  # <-- modifiez ceci

    ssl_certificate /data/web/discourse/shared/standalone/ssl/fullchain.pem;
    ssl_certificate_key /data/web/discourse/shared/standalone/ssl/privkey.pem;
    ssl_dhparam          /data/web/discourse/shared/standalone/ssl/dhparams.pem;
    ssl_session_tickets off;
    # supprimé du post : ssl_ciphers ...

    http2_idle_timeout 5m; # augmenté de 3m par défaut
    client_max_body_size 0;

    location / {
        proxy_pass http://unix:/data/web/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;
    }
}

Qu’est-ce que je fais de mal ?

Le port 80/443 de votre serveur est occupé par un autre serveur nginx, ce qui empêche Discourse d’établir des connexions.

Si vous souhaitez exécuter Discourse avec d’autres sites web sur le même serveur, consultez ce tutoriel :

1 « J'aime »

Oui, j’ai en fait essayé cela en premier, mais je vais réessayer et vous dire comment ça s’est passé !

Même chose, malheureusement !

Configuration nginx

server {
    listen 80; listen [::]:80;
    server_name lush.gg;  # <-- modifiez ceci

    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;  listen [::]:443 ssl http2;
    server_name lush.gg;  # <-- modifiez ceci

    ssl_certificate /etc/letsencrypt/live/lush.gg/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/lush.gg/privkey.pem;
#    ssl_dhparam          /var/discourse/shared/standalone/ssl/dhparams.pem;
    ssl_session_tickets off;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA;

    http2_idle_timeout 5m; # augmenté par rapport au défaut de 3m
    client_max_body_size 0;

    location / {
        proxy_pass http://unix:/data/web/lush-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;
    }
}

app.yml

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
  - "templates/web.socketed.template.yml"
## Décommentez ces deux lignes si vous souhaitez ajouter Lets Encrypt (https)
#- "templates/web.ssl.template.yml"
#- "templates/web.letsencrypt.ssl.template.yml"

## Quels ports TCP/IP ce conteneur doit-il exposer ?
## Si vous souhaitez que Discourse partage un port avec un autre serveur web comme Apache ou nginx,
## consultez https://meta.discourse.org/t/17247 pour plus de détails
#expose:
#- "25654:80" # http
#- "443:443" # https

C’est noté ! L’astuce consistait à activer DOCKER_USE_HOSTNAME: true.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.