Récemment, j’ai déplacé mon serveur Dell d’un endroit à un autre. Son système d’exploitation principal/gestionnaire de machines virtuelles est Proxmox VE 5.3. J’ai une machine virtuelle Nginx qui fait office de proxy inverse pour plusieurs autres machines virtuelles, dont une machine virtuelle Discourse.
Après avoir configuré mon nouveau routeur, plusieurs de mes machines virtuelles ont pu se connecter à Internet (sans même avoir besoin de renouveler les certificats SSL). Cependant, avec Discourse, je reçois l’erreur 502 Bad Gateway - nginx/1.14.0 (Ubuntu) lorsque j’essaie d’accéder à Discourse depuis un navigateur.
J’ai déjà rencontré cette erreur, mais généralement l’une des méthodes ci-dessous la résout :
Redémarrage de la machine virtuelle Discourse
Toujours 502 Bad Gateway - nginx/1.14.0 (Ubuntu) dans un navigateur.
Effacement des cookies du navigateur et essai avec différents navigateurs
Juste au cas où le problème viendrait de mon côté… non. Toujours la même erreur 502 Bad Gateway - nginx/1.14.0 (Ubuntu) sur divers navigateurs.
Nettoyage de Discourse et vérification de l’espace disque
Initialement, lors du nettoyage, environ 4 Go de données ont été supprimés. J’ai été très surpris. Peut-être que cela a causé le problème dès le départ ? Quoi qu’il en soit, maintenant, lorsque j’essaie de nettoyer Discourse :
> root@forum:/var/discourse# ./launcher cleanup
> WARNING! This will remove all stopped containers.
> Are you sure you want to continue? [y/N] y
> Total reclaimed space: 0B
> WARNING! This will remove all images without at least one container associated to them.
> Are you sure you want to continue? [y/N] y
> Total reclaimed space: 0B
Je tiens également à réitérer que je ne suis pas à court d’espace disque :
Git Pull
Il est à jour.
> root@forum:/var/discourse# git pull
> Already up to date.
Redémarrage de Discourse
C’est ici que j’ai découvert deux erreurs que je rencontre :
> root@forum:/var/discourse# ./launcher restart app
>
> WARNING: We are about to start downloading the Discourse base image
> This process may take anywhere between a few minutes to an hour, depending on your network speed
>
> Please be patient
>
> Unable to find image 'discourse/base:2.0.20191013-2320' locally
> /usr/bin/docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
> See '/usr/bin/docker run --help'.
> Your Docker installation is not working correctly
>
> See: `https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam`
J’ai consulté le lien suggéré. Il recommande un Git Pull et une reconstruction de Discourse (ce que vous verrez plus bas). Il suggère également d’exécuter une commande Docker “Hello World”. Cela fonctionne (bien qu’il semble y avoir quelques problèmes ?) :
> root@forum:/var/discourse# docker run -it --rm hello-world
> Unable to find image 'hello-world:latest' locally
> latest: Pulling from library/hello-world
> 1b930d010525: Pull complete
> Digest: sha256:c3b4ada4687bbaa170745b3e4dd8ac3f194ca95b2d0518b417fb47e5879d9b5f
> Status: Downloaded newer image for hello-world:latest
>
> Hello from Docker!
> This message shows that your installation appears to be working correctly.
>
> To generate this message, Docker took the following steps:
> 1. The Docker client contacted the Docker daemon.
> 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
> (amd64)
> 3. The Docker daemon created a new container from that image which runs the
> executable that produces the output you are currently reading.
> 4. The Docker daemon streamed that output to the Docker client, which sent it
> to your terminal.
>
> To try something more ambitious, you can run an Ubuntu container with:
> $ docker run -it ubuntu bash
>
> Share images, automate workflows, and more with a free Docker ID:
> https://hub.docker.com/
>
> For more examples and ideas, visit:
> https://docs.docker.com/get-started/
>
> failed to resize tty, using default size
Eh bien, ensuite j’ai essayé le Bash Ubuntu… et erreur :
> root@forum:/var/discourse# docker run -it ubuntu bash
> Unable to find image 'ubuntu:latest' locally
> docker: Error response from daemon: Get https://registry-1.docker.io/v2/library/ubuntu/manifests/latest: Get https://auth.docker.io/token?scope=repository%3Alibrary%2Fubuntu%3Apull&service=registry.docker.io: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
> See 'docker run --help'.
Il est temps de passer à d’autres méthodes que je connais :
Arrêt et démarrage de Discourse
Je reçois la même chose qu’avec le Redémarrage :
> root@forum:/var/discourse# ./launcher stop app
>
> WARNING: We are about to start downloading the Discourse base image
> This process may take anywhere between a few minutes to an hour, depending on your network speed
>
> Please be patient
>
> Unable to find image 'discourse/base:2.0.20191013-2320' locally
> /usr/bin/docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
> See '/usr/bin/docker run --help'.
> Your Docker installation is not working correctly
>
> See: `https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam`
>
> root@forum:/var/discourse# ./launcher start app
>
> WARNING: We are about to start downloading the Discourse base image
> This process may take anywhere between a few minutes to an hour, depending on your network speed
>
> Please be patient
>
> Unable to find image 'discourse/base:2.0.20191013-2320' locally
> /usr/bin/docker: Error response from daemon: Get https://registry-1.docker.io/v2/discourse/base/manifests/2.0.20191013-2320: Get https://auth.docker.io/token?scope=repository%3Adiscourse%2Fbase%3Apull&service=registry.docker.io: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
> See '/usr/bin/docker run --help'.
> Your Docker installation is not working correctly
>
> See: `https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam`
Reconstruction de Discourse
Et encore une fois, les mêmes deux erreurs.
> root@forum:/var/discourse# ./launcher rebuild app
>
> WARNING: We are about to start downloading the Discourse base image
> This process may take anywhere between a few minutes to an hour, depending on your network speed
>
> Please be patient
>
> Unable to find image 'discourse/base:2.0.20191013-2320' locally
> /usr/bin/docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
> See '/usr/bin/docker run --help'.
> Your Docker installation is not working correctly
>
> See: https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam
Restauration à partir d’une sauvegarde précédente
J’ai une capture d’état (snapshot) datant d’avant le déplacement du serveur et le nettoyage (qui, comme mentionné, a supprimé environ 4 Go de fichiers). J’ai tout réessayé ci-dessus… et même chose (à l’exception du Nettoyage), ainsi que l’erreur 502 Bad Gateway - nginx/1.14.0 (Ubuntu) dans un navigateur. Donc peut-être que cela n’a rien à voir avec le nettoyage ?
Tout au long de mon expérience avec Discourse, je n’ai jamais rencontré l’une de ces deux erreurs. Avez-vous des suggestions sur ce que je peux faire pour résoudre ces erreurs et faire fonctionner Discourse dans un navigateur ?
