Documentation

Connection to upstream refused/skipped

Les erreurs Connection to upstream refused et Connection to upstream skipped indiquent un problème au lancement de l'application. Cela peut soit être le serveur HTTP qui n'arrive pas à se lancer soit l'application qui se lance mais n'écoute pas sur la bonne IP. Quelle que soit la raison plus d'informations sont disponibles dans les logs ~/admin/logs/sites.
Voici une liste non exhaustive d'exemples :


Log sites pour un site utilisant Apache :
STDERR: (122)Disk quota exceeded: apache: could not open error log file /home/foo/admin/logs/apache/apache.log.

Logs Apache (~/admin/logs/apache) :
[error] (122)Disk quota exceeded: Couldn't bind unix domain socket /home/foo/admin/config/apache/run/cgisoc
k.XXXXXXX
[error] (122)Disk quota exceeded: could not create /home/foo/admin/config/apache/run/apache.pid
[error] apache: could not log pid to file /home/foo/admin/config/apache/run/apache.pid

Cela concernera surtout les pack 100 Mo. Passez sur le pack supérieur dans l'onglet Comptes de votre interface d'administration ou supprimez des fichiers.


STDERR: (2)No such file or directory: apache: could not open error log file /home/foo/admin/logs/apache/apache.log.
STDERR: Unable to open logs

Tentez de redémarrer l'instance Apache (Web > Sites > Redémarrer un site de type PHP) pour le régénérer ou effectuez un changement notoire sur l'un des sites concerné (par exemple en ajoutant une adresse fictive).


STDERR: Syntax error on line XXX of /home/foo/admin/config/apache/sites.conf:
STDERR: Invalid command 'XXX', perhaps misspelled or defined by a module not included in the server configuration

Des caractères parasites ou des directives n'utilisant pas la bonne syntaxe on été ajoutés dans le champ Directives globales d'un site de type Apache personnalisé ou au niveau du virtual host du site concerné. Corrigez ou supprimez les.
Il n'y a qu'un serveur Apache par compte, préférez donc gérer les directives Apache au niveau du virtual host ou d'un .htaccess lorsque c'est possible.


Logs sites :
STDERR: [uWSGI] getting INI configuration from /home/foo/admin/config/uwsgi/XXXXX.conf
Upstream starting failed: /usr/alwaysdata/uwsgi/2.0.17.1/bin/uwsgi --ini /home/foo/admin/config/uwsgi/XXXXX.conf (return code: 1 | reason: -)

Logs uWSGI (~/admin/logs/uwsgi) :
chdir() to /home/foowww
chdir(): No such file or directory [core/uwsgi.c line 2631]
-----
failed to open python file /home/foo/www/app.py
unable to load app 0 (mountpoint='') (callable not found or import error)
-----
unable to find "application" callable in file /home/foo/www/manage.py
-----
ModuleNotFoundError: No module named 'XXXX'

Selon l'erreur corrigez le site, l'environnement virtuel ou encore le script en lui-même.


Pour les sites ne passant pas par Apache ou uWSGI, vérifiez le lancement du programme en SSH. Notamment s'il écoute bien :

  • en IPv4 ;
  • sur l'IP et le port donné.

Upstream starting failed: node ~/www/app.js (return code: - | reason: No such file or directory: '/www/')

Cela renverra l'erreur Upstream not ready. Le répertoire de travail indiqué dans Web > Sites n'existe pas.


STDERR: internal/modules/cjs/loader.js:589
[1STDERR:     throw err;
STDERR:     ^
STDERR: 
STDERR: Error: Cannot find module '/home/foo/www/app.js'
STDERR:     at Function.Module._resolveFilename (internal/modules/cjs/loader.js:587:15)
STDERR:     at Function.Module._load (internal/modules/cjs/loader.js:513:25)
STDERR:     at Function.Module.runMain (internal/modules/cjs/loader.js:760:12)
STDERR:     at startup (internal/bootstrap/node.js:308:19)
STDERR:     at bootstrapNodeJSCore (internal/bootstrap/node.js:878:3)
Upstream starting failed: node ~/www/app.js

Le fichier ~/www/app.js n'existe pas.


Cannot parse upstream response : cette erreur signifie qu'une réponse HTTP renvoyée par votre serveur/application est incorrecte (mal formée), et donc que notre proxy ne peut la déchiffrer (et la renvoyer).


Last updated: 12 March 2019 at 16:48