如何在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?
如何在我的 Django Rest Framework 项目中允许所有跨域请求?