How to set up nginx for file uploading

Hi everyone!

I am having some trouble setting up nginx for file uploading.

I am using nginx as a proxy in front of my nodejs server (that has hapi
as
server framework).

Here is the nginx.conf file’s portion for this server:
http://dpaste.com/0VJKE5K

The problem is that I get

No ‘Access-Control-Allow-Origin’ header is present on the requested
resource. Origin ‘https://test.project.com’ is therefore not allowed
access.

immediately after sending the pre-flight request when uploading the
file.

Can anyone please help me?
Thanks in advance.

Your config doesn’t appear to add any Access-Control-Allow-Origin
header,
so unless your backend is adding this, you will need to add an
appropriate Access-Control-Allow-Origin header.

I added these in “location /upload/preview”:

add_header ‘Access-Control-Allow-Origin’ ‘https://test.project.com’;

add_header ‘Access-Control-Allow-Headers’ ‘Authorization, Content-Type,
X-Requested-With, Cache-Control, If-None-Match’;

And now it gives me:

No ‘Access-Control-Allow-Origin’ header is present on the requested

resource. Origin ‘https://test.project.com’ is therefore not allowed
access. The response had HTTP status code 503.

As a response to the actual request (not the pre-flight)

On Fri, Dec 11, 2015 at 4:27 PM, Richard S.
[email protected]

"The response had HTTP status code 503. "

It looks your backend is failing, as it’s returning a HTTP/503 error and
likely not including the correct headers. You should look into why your
backed is returning a 503 as this doesn’t seem like an nginx issue any
more.

The problem is that I have tested the application locally (without
nginx)
and the uploading works just fine.
That’s why I think it has something to do with de way nginx is
configured.

On Fri, Dec 11, 2015 at 6:07 PM, Richard S.
[email protected]

I managed to make some changes (I was using another config file,
although “nginx -t” was showing the correct file, witch is very
strange) and I don’t get HTTP 503 back.
The config file now looks like this: http://dpaste.com/18J54VV
The problem I have now is that I get

500 (Internal Server Error)

as a response to the POST request.

I can see that the files are actually uploaded to
“/home/project/previews/uploaded-files”, but for whatever reason they
don’t get passed to the backend server, because the backend doesn’t
log anything (though it says that it’s an Internal Server Error).