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: [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),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
<TITLE>405 Method Not Allowed <H1>Method Not Allowed The requested method POST is not allowed for the URL /index.html.<P> <ADDRESS>Apache/1.3.37 Server at www.jb51.net Port 80</ADDRESS> `...
Origin 'null' is therefore not allowed access. 这就是跨域问题。解决方案有不少,比较好的是服务器端配置CORS,但要求服务器端做更改。如果在不需要更改服务器端的情况下解决呢?尤其是需要在
例如,当客户端发送一个POST请求时,如果Nginx配置中没有明确允许该方法,则可能会返回405 Method Not Allowed的状态码。 #### 三、源码级修改步骤 ##### 1. 进入Nginx源码目录 首先,需要获取Nginx的源码包,并...
全部接口报405 NOT Allowed 错误,如下图所示: 解决问题过程 在网上查了很多,试了几种方案 (1)前端将POST请求更改为GET请求; (2)nginx配置加上如下代码 : location / { error_page 405 =200 /...
问题 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: [emerg] “if” directive is not allowed 当业务需要多个条件判断时,可以借助中间变量来实现 如:我们的网站在 pc 端有多个子域名, 而移动端只有一个域名,对应关系如下: www.test.com –> m.test.com...
nginx 版本 1.11.3 使用大家说的以下配置,验证无效,跨域问题仍然存在 add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow...
2. **404错误的误导**:尝试访问`/usr/local/nginx/html1/a.txt`时,错误代码变成了404 Not Found。这看起来矛盾,但实际上,这是因为虽然`www.requesturi.com`的配置不存在,但Nginx默认使用了`www.zhuye.com`的...
Nginx配置跨域请求Access-Control-Allow-Origin * 是解决现代Web应用中常见问题的一个关键步骤。在Web开发中,由于浏览器的同源策略限制,不同源的网站之间不能直接进行AJAX请求,除非服务器允许这样的跨域行为。...
在修改Nginx配置后,记得重启Nginx服务以使新配置生效,命令通常是`sudo service nginx restart`或者`sudo systemctl restart nginx`,具体取决于你的操作系统。 值得注意的是,虽然允许所有来源(`*`)可以方便地...
原脚本注释掉了返回HTTP状态码`HTTP_NOT_ALLOWED`的行,但在实际应用中,这会导致返回403 Forbidden状态。不过,文档建议直接返回404 Not Found,以更隐蔽地处理垃圾流量。 3. **Nginx配置**:在Nginx的配置文件`...
Origin 'http://carey.akhack.com' is therefore not allowed access. ``` 为了解决这个问题,我们可以利用Nginx的Http_Headers_Module模块,通过`add_header`指令添加必要的响应头。具体配置如下: ```nginx ...
在nginx中配置proxy_pass时,如果是按照^~匹配路径时,要注意proxy_pass后的url最后的/。当加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;如果没有/,则会把匹配的路径部分也给代理走。...
You are not allowed to access this page. 1、调整了文件的读写权限,通过域名访问(外网访问、本地访问),仍然403报错。 2、 然后在服务器本地访问(http://localhost/backend/web/index.php?r=gii) 仍报错403...
<param-name>cors.allowed.methods <param-value>GET,POST,HEAD,OPTIONS,PUT <param-name>cors.allowed.headers <param-value>Access-Control-Allow-Origin,Content-Type,X-Requested-With,accept,Origin,...
如果遇到“1130-host is not allowed to connect to this MySql server”的错误,可以通过以下两种方式解决: - **方法一:** 修改MySQL的`user`表中的`host`字段,将“localhost”改为“%”。 ```bash ...