iisnode - IIS7.5: 405 Method not allowed when performing PUT request iisnode - IIS7.5: 405 Method not allowed when performing PUT request express express

iisnode - IIS7.5: 405 Method not allowed when performing PUT request


I now finally found the solution to this problem namely the WebDavModule was blocking my PUT requests.

To resolve the issue:

  1. Open your IIS Manager
  2. Goto your application configuration and open "Modules"
  3. Search WebDavModule and remove it (menu on the right)

It then worked for me.

Alternatively, in your application's web.config add

<system.webServer>    ...    <modules>       <remove name="WebDAVModule"/>    </modules></system.webServer>


One reason may be that your web.config does not map the particular request you are making to the iisnode handler. In that case the request is picked up by the static request handler which does not support PUT methods and responds with a 405.

To fix this you need a iisnode handler registration like this in your web.config: https://github.com/tjanczuk/iisnode/blob/master/src/samples/helloworld/web.config#L7

In addition, if you plan to use URL that do not end with the name of your node.js file (like seems to be the case above), you will need to use a URL rewrite module to tell IIS exactly which requests should have their URLs rewritten to point to the URL of your node.js entry point. Read more at: http://tomasz.janczuk.org/2011/08/using-url-rewriting-with-nodejs.html