如何在apache2中允许放置方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在apache2中允许放置方法相关的知识,希望对你有一定的参考价值。

在以下环境下,正在apache2中测试put方法。


  • 操作系统:Ubuntu 16.04
  • 服务器版本:Apache / 2.4.18(Ubuntu)
  • 服务器内置:2018-06-07T19:43:03
  • WAS:Python CGI

/etc/apache2/apache2.conf
...
<Directory "/var/www/html">
#       Dav On
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
        AddHandler cgi-script .py
        Options ExecCGI
        <LimitExcept GET POST PUT OPTIONS>
                Order Allow,Deny
                Deny from all
        </LimitExcept>
</Directory>
...

和apache2.conf一样允许使用PUT方法,但是如果您在根页面上尝试OPTIONS方法,则不允许使用PUT方法。发送PUT请求会导致方法错误405错误。

可以设置所有其他方法,但不能进行PUT和DELETE。Apache2是默认的安全设置吗?

答案

是的,似乎Apache 2.4限制了这些请求,我通过将其添加到webdir文件夹中的.htaccess文件中来使其工作:

<Limit GET HEAD POST PUT DELETE OPTIONS>
# Deprecated apache 2.2 syntax:
# Order Allow,Deny
# Allow from all
# Apache > 2.4 requires:
Require all granted
</Limit>

以上是关于如何在apache2中允许放置方法的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Google Cloud Endpoints 中允许 CORS?

如何解决需要比 SQL 中允许的更长的列名?

如何在我的 Django Rest Framework 项目中允许所有跨域请求?

如何在 JavaScript 文件中允许空格?

如何在 JetBrains Rider 中允许不安全的代码?

C# - 如何在 OpenFileDialog 中允许多种文件类型?