Connection to upstream refused/skipped

Connection to upstream refused and Connection to upstream skipped errors indicate an issue when starting the application. This can be either the HTTP server that cannot get started or the application that starts but does not listen on the right IP. Whatever the reason is, more information is available in the ~/admin/logs/sites logs.

Here is a non exhaustive list of examples:

Sites log for a website that uses Apache:
STDERR: (122)Disk quota exceeded: apache: could not open error log file /home/foo/admin/logs/apache/apache.log.

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

It mostly concerns the 100MB plans. Subscribe to a less limited plan in the Accounts menu of your administration panel, or delete some files.

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

Try to restart the Apache instance (Web → Sites → Restart a PHP website) to bring it back, or make a noticeable change on one of the affected sites (e.g. by adding an alias address).

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

Unrecognized characters or directives, i.e. an incorrect syntax, have been added to the Global directives field of an Apache custom site, or to the site's virtual host. Fix or delete them.

There is only one Apache server instance per account. Please try to limit Apache directives at the virtual host level, or use an .htaccess file when possible.

Sites logs:
STDERR: [uWSGI] getting INI configuration from /home/foo/admin/config/uwsgi/XXXXX.conf
Upstream starting failed: /usr/alwaysdata/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/
unable to load app 0 (mountpoint='') (callable not found or import error)
unable to find "application" callable in file /home/foo/www/
ModuleNotFoundError: No module named 'XXXX'

Depending on the error, fix the application, the virtual environment, or the script itself.

For the websites which do not use Apache or uWSGI, check that the program runs fine in SSH. Pay attention to the following points:

  • app listens on IPv4
  • app listens on the given IP and port

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

This send back an Upstream not ready error. The working directory indicated in Web → Sites does not exist.

STDERR: internal/modules/cjs/loader.js:589
[1STDERR:     throw err;
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

The ~/www/app.js file does not exist.

Cannot parse upstream response

This error means an HTTP response sent by your application is malformed and our proxy can not rely it.

Last updated: 05 June 2019 at 16:46