Problème de configuration de discourse avec reverse proxy

J’ai installé Wikijs (Docker compose) et Discourse.

Wikijs fonctionnait bien, le proxy inverse fonctionnait aussi.
J’ai commencé à installer Discourse et il y avait un problème. J’ai donc recherché et découvert que cela pourrait être lié à l’installation de Docker lors de la première installation d’Ubuntu.

J’ai donc arrêté le Docker de Wikijs pour le mettre à jour. J’ai tout réinstallé depuis le dépôt Docker. J’ai redémarré Wikijs et il n’y avait aucune erreur que je pouvais voir.
J’ai également démarré Discourse cette fois-ci et il a parcouru toute la séquence de démarrage. J’essaie donc d’accéder aux sites. Nginx est sur un autre serveur, donc je n’ai pas touché aux proxys inverses. Devinez quoi ? Je ne peux pas y accéder depuis les deux noms de domaine ou depuis l’ip locale:port.

Je suis complètement perdu car les deux disent qu’ils fonctionnent et Wikijs me permettait de me connecter auparavant. J’étais si près. :') Le syslog ne dit rien à propos de ces deux non plus.

Voici plus d’informations.

Proxys inverses :

server {
        listen 80;
        listen [::]:80;

        root /var/www/website.co.uk/html;
        index index.html index.htm index.nginx-debian.html;

        server_name website.co.uk www.website.co.uk;

        location / {
                rewrite ^(/.*)\.html(\?.*)?$ $1$2 permanent;
                rewrite ^/(.*)/$ /$1 permanent;
                try_files $uri/index.html $uri.html $uri/ $uri =404;
        }

        location /css {
                alias /var/www/website.co.uk/html/css;
        }

        location /images {
                alias /var/www/website.co.uk/html/media/images;
        }

        location /videos {
                alias /var/www/website.co.uk/html/media/videos;
        }

        location /music {
                alias /var/www/website.co.uk/html/media/music;
        }

        location /fonts {
                alias /var/www/website.co.uk/html/media/fonts;
        }

        location /scripts {
                alias /var/www/website.co.uk/html/scripts;
        }
}

server {
        listen 80;
        server_name wiki.website.co.uk;

        #ssl_certificate           /etc/nginx/cert.crt;
        #ssl_certificate_key       /etc/nginx/cert.key;

        #ssl on;
        #ssl_session_cache  builtin:1000  shared:SSL:10m;
        #ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
        #ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
        #ssl_prefer_server_ciphers on;

        location / {
                proxy_set_header        Host $host;
                proxy_set_header        X-Real-IP $remote_addr;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header        X-Forwarded-Proto $scheme;

                proxy_pass      http://internalip:port;
                proxy_read_timeout 90;

                proxy_redirect http://127.0.0.1 https://internalip:port;
        }
}
server {
        listen 80;
        server_name forums.website.co.uk;

        #ssl_certificate           /etc/nginx/cert.crt;
        #ssl_certificate_key       /etc/nginx/cert.key;

        #ssl on;
        #ssl_session_cache  builtin:1000  shared:SSL:10m;
        #ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
        #ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
        #ssl_prefer_server_ciphers on;

        location / {
                proxy_set_header        Host $host;
                proxy_set_header        X-Real-IP $remote_addr;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header        X-Forwarded-Proto $scheme;

                proxy_pass      http://internalip:port2;
                proxy_read_timeout 90;

                proxy_redirect http://127.0.0.1 https://internalip:port2;
        }
}

Tunnel est installé sur la même machine que Discourse et Wikijs, mais je doute que ce soit le problème car je l’ai depuis un moment sans problème.
En visitant les forums, je suis accueilli par “Bad gateway”. Et avec le wiki, j’obtiens un timeout 504 de Nginx.

Toute aide serait grandement appréciée. :slight_smile:
Merci, Blood.

1 « J'aime »

À l’intérieur du fichier app.yml, dois-je modifier ces ports :

expose:
  - "80:80"   # http
  - "443:443" # https

en quelque chose comme :

expose:
  - "8000:80"   # http
  - "8080:443" # https

8000 étant le port que je veux qu’il recherche à partir de la machine Nginx principale.
C’est la seule chose qui me préoccupe et, eh bien, j’ai testé et cela ne semble pas fonctionner. (J’ai reconstruit l’application Discourse).

1 « J'aime »

Voir Exécuter d’autres sites Web sur la même machine que Discourse

Vous devez supprimer les modèles ssl et lets encrypt. Votre nginx doit gérer le ssl et discourse n’a besoin que du port 80 pour que le proxy se connecte.

1 « J'aime »

Est-ce que cela fonctionnerait pour le même réseau domestique et pas tant pour la même machine, étant donné qu’elles ne sont pas réellement sur la même machine ? :slight_smile:

Je suppose que cela a quelque chose à voir avec la façon dont je corrige cela ?
« Vous ne pouvez pas utiliser ./discourse-setup pour configurer Discourse si un autre serveur utilise les ports 80 ou 443. Vous devrez copier et modifier samples/standalone.yml avec votre éditeur de texte préféré. »
Ceci provient du guide fourni. Puisque j’exécute Nginx sur ce serveur différent, c’est-à-dire.

1 « J'aime »