Problem with nginx + uwsgi

Hi everybody,

I’m having a problem with my nginx and uwsgi. I don’t really know
I’m doing wrong.

Here is the configuration of nginx:

server {
listen 80;

    location /api/v1 {
            uwsgi_pass      unix:///tmp/api.sock;
            include         uwsgi_params;

    location / {
            return 444;

And this is uwsgi configuration:

socket = /tmp/api.sock
chdir = /var/www/api
master = true
plugin = python
pp = /home/api/src
file =
uid = www-data
gid = www-data
threads = 4
workers = 4
callable = app
chmod-socket = 666
post-buffering = 4096
virtualenv = /usr/local/venvs/api
callable = ins
env = API_SETTINGS_FILE=…/…/etc/

If I execute following command everything seems to be working fine:

curl -v

“message”: “Method Not Allowed”,
“status”: 405

HTTP/405 it’s the expected answer since the app doesn’t allow login
resquets with GET method, So now I’m going to try with POST.

The application expects for data such as email and password, so this
trigger a 500 in the api backend

curl -X POST

uwsgi log:

[pid: 19484|app: 0|req: 5/5] () {30 vars in 340 bytes} [Fri
17 12:05:00 2015] POST /api/v1/login => generated 0 bytes in 432 msecs
(HTTP/1.1 500) 0 headers in 0 bytes (0 switches on core 0)

Everything good but the answer of nginx it’s wrong:

502 Bad Gateway

502 Bad Gateway


So for any reason nginx interpret the HTTP/500 from the API as the
it’s no available.

Do you see what I’m doing wrong?

More info:

Nginx 1.8.0
Ubuntu 12.04
uWSGI 1.0.3

Thanks in advance

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs