400 bad request with the other method such as info,list and lock

Hello Nginx team,

I am trying to install our solution with Nginx as a reverse proxy. And I
am
having some problem shown as below.

172.30.2.84 - - [14/Aug/2012:19:51:17 +0900] “GET
/api/local/test.doc/info
HTTP/1.1” 400 971 “-”
172.30.2.84 - - [14/Aug/2012:19:51:17 +0900] “GET /api/local/info
HTTP/1.1”
400 971 “-”
172.30.2.84 - - [14/Aug/2012:19:51:17 +0900] “GET /api/local/info
HTTP/1.1”
400 971 “-”
172.30.2.84 - - [14/Aug/2012:19:51:17 +0900] “GET /api/local/info
HTTP/1.1”
400 971 “-”
172.30.2.84 - - [14/Aug/2012:19:51:17 +0900] “GET
/api/local/test.doc/info
HTTP/1.1” 400 971 “-”
172.30.2.84 - - [14/Aug/2012:19:51:17 +0900] “GET /api/local/list
HTTP/1.1”
400 971 “-”
172.30.2.84 - - [14/Aug/2012:19:51:17 +0900] “GET /api/local/info
HTTP/1.1”
400 971 “-”

As you can see, 400 bad request error occurred. I have already
experienced
that I used to handle pound reverse proxy server with our solution.
Pound server has xhttp option that allow WEBDAV method from outside
through
itself. I could solve similar issue under pound server by using xhttp
option. below description quoted from pound man page.

xHTTP value
Defines which HTTP verbs are accepted. The possible values are:

    (default) accept only standard HTTP requests (GET, POST, HEAD).
    additionally allow extended HTTP requests (PUT, DELETE).
    additionally allow standard WebDAV verbs (LOCK, UNLOCK, 

PROPFIND,
PROPPATCH, SEARCH, MKCOL, MOVE, COPY, OPTIONS, TRACE, MKACTIVITY,
CHECKOUT,
MERGE, REPORT).
additionally allow MS extensions WebDAV verbs (SUBSCRIBE,
UNSUBSCRIBE, NOTIFY, BPROPFIND, BPROPPATCH, POLL, BMOVE, BCOPY, BDELETE,
CONNECT).
additionally allow MS RPC extensions verbs (RPC_IN_DATA,
RPC_OUT_DATA).

I want to know same function in Nginx server to solve issue that
blocking
INFO,LIST,LOCK,UNLOCK.
Please let me know how to configure or the way.

Thank you in advance.

Posted at Nginx Forum:

Hello!

On Tue, Aug 14, 2012 at 07:10:05AM -0400, kj wrote:

400 971 “-”
that I used to handle pound reverse proxy server with our solution.
Pound server has xhttp option that allow WEBDAV method from outside through
itself. I could solve similar issue under pound server by using xhttp
option. below description quoted from pound man page.

All syntactically correct methods are allowed by nginx by default
when proxying. If method isn’t allowed for a particular resource,
nginx will return 405 (Method Not Allowed), not 400 (Bad Request).
The above errors aren’t result of method problems for sure, as you
can see from request line logged the method used was GET.

To find out the reason for errors in question take a look at error
log.

And you may also want to make sure errors are actually returned
by nginx, not by your backend. The size logged (971) suggests
it’s at least not nginx standard error page.

Maxim D.

Server error, that is, files are missing

1

Posted at Nginx Forum: