I have configured Apache to send back a 200 response without serving any file with this configuration line

Redirect 200 /hello

Can I do this with Nginx? I don't want to serve a file, I just want the server to respond with a 200 (I'm just logging the request).

I know I can add an index file and achieve the same thing, but doing it in the config means there's one less thing that can go wrong.

link|improve this question
feedback

2 Answers

up vote 1 down vote accepted

You do need to use a 204 as Nginx will not allow a 200 with no response body. To send a 204 you simply use the return directive to return 204; in the appropriate location.

link|improve this answer
feedback

As per status code definitions, I believe you want it to be a 204, and not 200. 200's need to be with a resource in the response, or I'd suspect most sane browsers would get confused by this. The other one you can use is 304, which is for cached content.

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

link|improve this answer
Sure, make it a 204, how do I do it? Although I very much doubt any browser will be confused by an empty body. – Theo Nov 1 '10 at 15:55
an empty body is still a response, with an object, such as a blank index.html. What you asked is to provide a 200 response with no resource attached to it (no file served). As for how exactly to do it on nginx, I need to look it up myself, I've only once done this on apache, and I can't remember off hand. – sandroid Nov 1 '10 at 20:05
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.