`
stephen830
  • 浏览: 3011063 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

NGINX: 405 Not Allowed

 
阅读更多

 

NGINX: 405 Not Allowed

今天碰到一个dz的批量上传文件不成功的问题。
追踪发现,是把静态文件都优化了新地址导致的,用图片服务器存放了swf文件
swf文件上传文件时,就变成向静态文件做post,nginx就会返回405错误
修正域名即可解决。

另外,发现一个好玩的:

NGINX不允许向静态文件提交POST方式的请求,否则报405错误。测试方法为,使用curl向服务器上的静态文件提交POST请求:
curl -d 1=1 http://localhost/version.txt

得到以下结果:

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

网上传抄的添加以下配置的解决办法不可用:

error_page 405 =200 @405;
location @405
{
    root /srv/http;
}

一种不完美但可用的方法为:
upstream static_backend {
    server localhost:80;
}

server {
    listen 80;

    # ...

    error_page 405 =200 @405;
    location @405 {
        root /srv/http;
        proxy_method GET;
        proxy_pass http://static_backend;
    }
}

即转换静态文件接收的POST请求到GET方式。

http://0x3f.org/blog/nginx...

 

 

分享到:
评论

相关推荐

    Nginx反向代理proxy_cache_path directive is not allowed错误解决方法

    nginx: [emerg] “proxy_cache_path” directive is not allowed here in /etc/nginx/conf.d/default.conf:29 提示意思“proxy_cache_path指令不被允许”,在官网上查找了相关说明,也没有发现问题,最后看应用范围...

    http请求405错误方法不被允许的解决 (Method not allowed)

    主要介绍了http请求405错误方法不被允许的解决 (Method not allowed),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Nginx静态文件响应POST请求 提示405错误的解决方法

    &lt;TITLE&gt;405 Method Not Allowed &lt;H1&gt;Method Not Allowed The requested method POST is not allowed for the URL /index.html.&lt;P&gt; &lt;ADDRESS&gt;Apache/1.3.37 Server at www.jb51.net Port 80&lt;/ADDRESS&gt; `...

    Nginx解决转发地址时跨域的问题

    Origin 'null' is therefore not allowed access. 这就是跨域问题。解决方案有不少,比较好的是服务器端配置CORS,但要求服务器端做更改。如果在不需要更改服务器端的情况下解决呢?尤其是需要在

    nginx对http method的控制修改方法

    例如,当客户端发送一个POST请求时,如果Nginx配置中没有明确允许该方法,则可能会返回405 Method Not Allowed的状态码。 #### 三、源码级修改步骤 ##### 1. 进入Nginx源码目录 首先,需要获取Nginx的源码包,并...

    Ngnix 数据接口报405错误问题解决

    全部接口报405 NOT Allowed 错误,如下图所示:   解决问题过程 在网上查了很多,试了几种方案 (1)前端将POST请求更改为GET请求;  (2)nginx配置加上如下代码 :  location / { error_page 405 =200 /...

    nginx经过多层代理后获取真实来源ip过程详解

    问题 nginx取 $remote_addr 当做真实ip,而事实上,$http_X_Forwarded_For 才是用户真实ip,$remote_addr只是代理上一层的地址 ...nginx: [emerg] unknown directive set_real_ip_from in /home/lnidmp/nginx/conf/

    nginx 如何实现if嵌套的方法示例

    nginx: [emerg] “if” directive is not allowed 当业务需要多个条件判断时,可以借助中间变量来实现 如:我们的网站在 pc 端有多个子域名, 而移动端只有一个域名,对应关系如下: www.test.com –&gt; m.test.com...

    Nginx跨域设置Access-Control-Allow-Origin无效的解决办法

    nginx 版本 1.11.3 使用大家说的以下配置,验证无效,跨域问题仍然存在 add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow...

    nginx配置引发的403问题解决办法

    2. **404错误的误导**:尝试访问`/usr/local/nginx/html1/a.txt`时,错误代码变成了404 Not Found。这看起来矛盾,但实际上,这是因为虽然`www.requesturi.com`的配置不存在,但Nginx默认使用了`www.zhuye.com`的...

    Nginx配置跨域请求Access-Control-Allow-Origin * 详解

    Nginx配置跨域请求Access-Control-Allow-Origin * 是解决现代Web应用中常见问题的一个关键步骤。在Web开发中,由于浏览器的同源策略限制,不同源的网站之间不能直接进行AJAX请求,除非服务器允许这样的跨域行为。...

    静态文件访问不到报No Access-Control-Allow-Origin处理办法

    在修改Nginx配置后,记得重启Nginx服务以使新配置生效,命令通常是`sudo service nginx restart`或者`sudo systemctl restart nginx`,具体取决于你的操作系统。 值得注意的是,虽然允许所有来源(`*`)可以方便地...

    nginx 防垃圾流量的perl清洗脚本.docx

    原脚本注释掉了返回HTTP状态码`HTTP_NOT_ALLOWED`的行,但在实际应用中,这会导致返回403 Forbidden状态。不过,文档建议直接返回404 Not Found,以更隐蔽地处理垃圾流量。 3. **Nginx配置**:在Nginx的配置文件`...

    Nginx实现跨域使用字体文件的配置详解

    Origin 'http://carey.akhack.com' is therefore not allowed access. ``` 为了解决这个问题,我们可以利用Nginx的Http_Headers_Module模块,通过`add_header`指令添加必要的响应头。具体配置如下: ```nginx ...

    详解proxy_pass根据path路径转发时的”/”问题记录

    在nginx中配置proxy_pass时,如果是按照^~匹配路径时,要注意proxy_pass后的url最后的/。当加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;如果没有/,则会把匹配的路径部分也给代理走。...

    Yii 访问 Gii(脚手架)时出现 403 错误

    You are not allowed to access this page. 1、调整了文件的读写权限,通过域名访问(外网访问、本地访问),仍然403报错。 2、 然后在服务器本地访问(http://localhost/backend/web/index.php?r=gii) 仍报错403...

    已解决:No &#39;Access-Control-Allow-Origin&#39;跨域问题

    &lt;param-name&gt;cors.allowed.methods &lt;param-value&gt;GET,POST,HEAD,OPTIONS,PUT &lt;param-name&gt;cors.allowed.headers &lt;param-value&gt;Access-Control-Allow-Origin,Content-Type,X-Requested-With,accept,Origin,...

    zabbix安装文档

    如果遇到“1130-host is not allowed to connect to this MySql server”的错误,可以通过以下两种方式解决: - **方法一:** 修改MySQL的`user`表中的`host`字段,将“localhost”改为“%”。 ```bash ...

Global site tag (gtag.js) - Google Analytics