如何在Nginx服务器上允许PUT文件请求?

我正在使用需要在HTTP服务器上放置文件的应用程序。 我使用Nginx作为服务器,但得到了一个405 Not Allowed错误。 这是一个使用cURL进行testing的例子:

 curl -X PUT \ -H 'Content-Type: application/x-mpegurl' \ -d /Volumes/Extra/playlist.m3u8 http://xyz.com 

而我从Nginx那里得到的是:

 <html> <head><title>405 Not Allowed</title></head> <body bgcolor="white"> <center><h1>405 Not Allowed</h1></center> <hr><center>nginx/1.1.19</center> </body> </html> 

我需要做什么来允许PUT

任何线索都会很棒!

    要添加PUT,DELETE,MKCOL,COPY和MOVE等HTTP和WebDAV方法,需要使用HttpDavmoduleeHttpDavmodulee ./configure --with-http_dav_module )编译nginx。 首先检查nginx -V ,也许你已经有了HttpDavmodulee ( 我从Debian仓库安装了nginx,并且已经有了这个模块 )。

    然后像这样改变你的nginx-config:

     location / { root /var/www; dav_methods PUT; } 

    您可以获取有关HttpDavmodulee的nginx文档条目的更多信息。

    405 Not Allowed另一个原因是,您没有权限在您要发送的目的地上写入文件。 如果您有HttpDavmodulee ,但仍然出现此错误,请确保您已在提供nginx写入权限的位置放置文件。