apache - 如何在apache2中允许put方法

标签 apache

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


  • 操作系统: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 请求会导致 Method not allowed 错误 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>

关于apache - 如何在apache2中允许put方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54942832/

相关文章:

java - 如何在 list 中设置主类 header

svn - 我如何在 Windows 上编译 mod_dontdothat

apache - 重定向来自特定域的所有请求

javascript - 如何减少服务器 "Wait"时间?

apache - 在 vhost 文件中使用符号链接(symbolic link)

regex - 与 Apache 的 ProxyPassMatch 一起使用时,%0 不会被服务器名称替换

mysql - httpd - CPU 使用率 100% - Mysql 服务器远程位置

apache 子域代理到 tomcat 上的 jenkins 插入额外目录

java - 服务器运行java servlet

php - 使用巨大的 PHP 脚本防止 504 网关超时