Exchange / Outlook - RPC Method and Error 405

Maxim Dounin mdounin at
Thu Feb 28 12:26:40 UTC 2013


On Thu, Feb 28, 2013 at 03:33:06AM -0500, gmor wrote:


> 1. How can I allow this Method, if that is the issue?
> 2. If what I'm doing is fundamentally not possible, please just let me
> know!

The 405 error, at least if returned by nginx, means that module 
which used to handle the request doesn't understand the request 
method used.  E.g. static module will only handle GET and HEAD, 
and will return 405 to anything else as it doesn't know how to 
handle other methods.  Proxy module, in contrast, just proxies the 
request and don't care which method was used.

So first of all I would suggest you to make sure requests are 
handled in a location with proxy_pass properly configured.  A 
simple way to do this would be to just throw away all funny 
regexp locations you wrote in your config, and start with a simple

    location / {
        proxy_pass http://backend;

to handle all requests.  Using debug log might be also helpful, 

(Note: I'm not sure this will work at all, I've never tried.  I 
would rather suppose it won't work, as RPC likely tries to 
establish in/out data streams.  I wouldn't expect a stream from 
a client to a backend to work as nginx will insist on reading a 
request body before it will be passed to the backend.)


> upstream exchange_all {
>  ip_hash;
>  server max_fails=1 fail_timeout=10s;
>  server max_fails=1 fail_timeout=10s;
>  # Do NOT Remove - this is needed for auth to work
>  keepalive 32;

Just a side note:

This is wrong - there is no guarantee that the same upstream server 
connection will used for requests from a particular client.  While with 
keepalive Integrated Windows Authentication might appear to work, 
it in fact doesn't.  You should switch to Basic authentication 

for more details.


Maxim Dounin

More information about the nginx mailing list