POST文件上传请求,Nginx报405错误

rogue2yjg 2017-07-15 03:58:35
以下是nginx日志:
175.171.184.77 - - [15/Jul/2017:14:19:35 +0800] "POST /newsedit/upload HTTP/1.1" 405 0 "http://www.xxx.com/newsedit/create" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3128.0 Safari/537.36"

以下是分析过程:
1、代码在本地win环境(未使用nginx)运行没有异常,上传功能正常;
2、部署到linux服务器上之后,使用了nginx,上传功能报405错误;
3、在同一个linux服务器上部署的另一套应用也有文件上传功能,可以正常使用;
4、故分析是nginx的配置问题;

以下是同一个linux服务器上两套应用的nginx配置:
1、上传功能异常:

server {
listen 80;
server_name xxx.com xxx.net yyy.com yyy.net;

access_log logs/portal.access.log;

location / {
root html;
index index.html index.htm;
proxy_pass http://www.xxx.com:8300;
}
location /portal {
root html;
index index.html index.htm;
proxy_pass http://www.xxx.com:8300;
}
location /privacy.html {
root html;
proxy_pass http://asset.xxx.com:9001/privacy.html;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}


2、上传功能正常:

server {
listen 80;
server_name m.xxx.com m.xxx.net m.yyy.com m.yyy.net;

access_log logs/maintenance.access.log;

location / {
root html;
index index.html index.htm;
proxy_pass http://m.xxx.com:9300;
proxy_redirect default;
}

location ^~ /eplus/ws/server {
proxy_pass http://m.xxx.com:9300;

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
...全文
2040 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容简介: 本课程以通俗易懂的方式讲解Nginx技术,课程内容包括:1.Nginx简介、安装Nginx 2. 配置服务器 3.反向代理 4.负载均衡 5.动静分离为什么需要NginxNginx轻量级,采用 C 进行编写,同样的 web 服务,会占用更少的内存及资源抗并发,nginx 以 epoll and kqueue 作为开发模型,处理请求是异步非阻塞的,负载能力比 apache 高很多,而 apache 则是阻塞型的。在高并发下 nginx 能保持低资源低消耗高性能 ,而 apache 在 PHP 处理慢或者前端压力很大的情况下,很容易出现进程数飙升,从而拒绝服务的现象。nginx 处理静态文件好,静态处理性能比 apache 高三倍以上。nginx 的设计高度模块化,编写模块相对简单。nginx 配置简洁,正则配置让很多事情变得简单,而且改完配置能使用 -t 测试配置有没有问题,apache 配置复杂 ,重启的时候发现配置出错了,会很崩溃。nginx 作为负载均衡服务器,支持 7 层负载均衡。nginx 本身就是一个反向代理服务器,而且可以作为非常优秀的邮件代理服务器启动特别容易, 并且几乎可以做到 7*24 不间断运行,即使运行数个月也不需要重新启动,还能够不间断服务的情况下进行软件版本的升级。社区活跃,各种高性能模块出品迅速。课程大纲: 为了让大家快速系统了解Nginx知识全貌,我为你总结了「Nginx技术框架图」,帮你梳理学习重点,建议收藏!!

1,737

社区成员

发帖
与我相关
我的任务
社区描述
网络协议与配置相关内容讨论专区
网络协议网络安全tcp/ip 技术论坛(原bbs)
社区管理员
  • 网络协议与配置社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧