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/