Problem with NGINX - Unprocessable entity localhost

Category: Engineering Insights :: Published at: 09.06.2024

When you try to run application, for example on Amazon Linux server, and trying to connect it
with a domain with the use of NGINX you can encounter some problematic issue.

You're starting server but, and it works, but when you try to make POST request, you're getting 422 Unprocessable Entity error.

This is because your application is still sending localhost Header, an this is not recognized by the app.

To fix this you need to modify your NGINX configuration

Just add these lines to your nginx.conf file:

                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;

Your full configuration will look moreless like this:

server {
    listen 80;
    server_name your-domain.com;

    location / {
        proxy_pass http://localhost:3000;
        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;
    }
}

 

This will replace your current header with the header of a domain.


- Click if you liked this article

Views: 471