Pothi,
Thanks for the nginx info on the possible if problems inside a location and the clever way you used a generated error to pass the request to Apache.
location / {
error_page 418 = @cachemiss;
recursive_error_pages on;
if ($request_method = POST) { return 418; }
Craig