I am running a frontend app using Vuejs and backend app with django. I am able to successfully serve both backend and frontend on the same ip using separate nginx server blocks i.e. each app is located at /etc/nginx/sites-available/frontend_app and /etc/nginx/sites-available/backend_app. Both apps are also enabled.

Visiting frontendapp.com and backendapp.com works fine however, whenever frontendapp.com tries to call the backendapp.com api, I get nginx/1.14.0 (Ubuntu) 404 Not Found error.

PS. The api call works on my localserver .i.e. calling http://127.0.0.1:000/api/path. On my production server, I change this (I think) to https://frontend.com/api/path

My questions are: is this a frontend error or nginx error? What am I doing wrong?

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
1 answer

HI @alkadelik,

You should be able to add the configuration in one file rather than creating two. That way you should be able to call different things/folders when access different URLs with the location part.

Your backend app, on what port is it listening on? Is it 8080 or something else. You should be able to use the following

location /api {
  proxy_pass http://localhost:8888/api;
}

Based on the port, just change it in the server block.

Regards,
KFSys

Submit an Answer