nginx转发给tomcat,POST数据丢失的解决方法?

问题描述

nginx转发给tomcat,POST数据丢失的解决方法?

nginx转发请求给tomcat,因为某些原因,tomcat要保留ContextPath,也就是说,访问tomcat的时候是http://localhost:8080/Context32/。但是又不想在浏览器里体现出来,所以想到用nginx转发。但是不随人愿,配置成下面状态时,注意加粗和下划线的部分,打开后,如果用permanent,浏览器地址是正确的,但是无法post数据到tomcat,如果用last或者不加参数,浏览器地址不对,但是可以post数据到tomcat,怎么调整都没有达成二者都实现的方法,请教高手!

server {
listen 80;
server_name abcd.com *.abcd.com;
root /cdata/www/nginxwww/;
index index.php index.html index.htm;

#rewrite ^/Context32/(.*) /$1 permanent;
#rewrite ^/Context32 / permanent;

location / {
proxy_pass http://localhost:8080/Context32/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 50m;
client_body_buffer_size 256k;
proxy_connect_timeout 30;
proxy_send_timeout 30;
proxy_read_timeout 60;
proxy_buffer_size 16k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}

解决方案

http://bbs.csdn.net/topics/391037512
参考下

时间: 2024-12-07 03:29:21

nginx转发给tomcat,POST数据丢失的解决方法?的相关文章

nginx下无法访问中文文件名的解决方法

今天在网上寻找关于Nginx访问中文目录及文件名的解决方法,偶然看到qwqg的一篇文章!解决问题的思路很清晰,特转载过来与大家一起分享!该方法还没有亲自测试,所以不太确定是否真有用! 方法一: 搞了大半天nginx下无法访问中文文件名的问题,现在看来是secureCRT的问题?看来还是字符集的问题了.看来nginx不需要象apache那样要单独加载支持中文模块. 服务器端字符集如下[root@test]# localeLANG=en_US.UTF-8LC_CTYPE="en_US.UTF-8″L

Nginx环境下PHP flush失效的解决方法_php技巧

问题 我在一次调试PHP逐行输出时候,发现ob_flush和flush两个都失效了,通过phpinfo基本能判断php.ini的设置是正常的. 解决方法 再去看Nginx,发现Nginx中,有如下的设置: fastcgi_buffer_size 128k; fastcgi_buffers 8 128k; 问题基本找到了,Nginx会缓冲PHP输出的信息,当达到128k时才会将缓冲区的数据发送给客户端,那么我们首先需要将这个缓冲区调小,比如: fastcgi_buffer_size 4k; fas

一个JSP页面导致的tomcat内存溢出的解决方法

 今天新能测试组的同事找我看一个奇怪的现象.一个tomcat应用,里面只有一个单纯的jsp页面,而且这个jsp页面没有任何java代码(想用这个jsp页面测试在她的服务器上的一个tomcat的最大QPS).但是用loadrunner压测了几分钟之后,分配了1024M堆内存的tomcat居然包heap space outofmemory!这个页面的代码如下:   代码如下: <%@ page language="java" contentType="text/html;

eclipse启动tomcat无法访问的解决方法_java

症状: tomcat在eclipse里面能正常启动,而在浏览器中访问http://localhost:8080/不能访问,且报404错误.同时其他项目页面也不能访问. 关闭eclipse里面的tomcat,在tomcat安装目录下双击startup.bat手动启动tomcat服务器.访问htt://localhost:8080/能正常访问tomcat管理页面. 症状原因:        eclipse将tomcat的项目发布目录(tomcat 目录中的webapp)重定向了,所以你会发现在tom

Nginx HTTP:413 Request Entity Too Large解决方法_nginx

概述 今天遇到一个问题,在PHP程序中上传图片出现了以下错误:HTTP:413 Request Entity Too Large. 开发环境:CentOS + Nginx + PHP + MySql 解决方案 解决此问题,根据上传数据文件的大小,需要调节PHP和Nginx相关的参数配置. 配置PHP PHP默认上传文件大小限制为2M,如果超出2M你需要修改PHP配置文件php.ini里面的参数. 复制代码 代码如下: post_max_size = 8M (表单提交的最大限制,此项不是限制上传单

Nginx报504 gateway timeout错误的解决方法

最近在工作中,需要做Excel导入的功能,由于Excel的数据比较多,而且我们的服务端程序需要对数据的内容做校验,会调用很多的外部服务接口,所以毫无悬念的导入Excel接口调用超过了一分钟,并且报错:504 gateway timeout.以下是两种解决思路: 1. 优化业务代码 一个接口调用超过一分钟,一定有可以优化的地方,看看数据库或者接口的调用是否合理,是否可以合并请求. 2. 修改Nginx的服务器配置 如果实在是优化不了了,可以把Nginx的超时时间上调. 看看时间是否符合要求,在ng

Nginx错误提示:504 Gateway Time-out解决方法

朋友说504 Gateway Time-out的错误提示与nginx本身是没有任何关系的我们可以通过fastcgi配置参数的调整进行解 决. 修改 php-fpm 配置文件: 1.把 max_children 根据系统修改下,保证有充足的php-cgi进程可以被使用; 修改php-fpm配置文件增加php-cgi进程数量 修改php-cgi进程数:  代码如下 复制代码 vi /usr/local/php/etc/php-fpm.conf 找到: <value name="max_chil

Nginx报错403 forbidden几个解决方法

由于要给网站安装个phpmyadmin,修改好配置后报出403错误,于是搜集了下403出现的原因. 引起nginx 403 forbidden通常是三种情况:一是缺少主页文件,二是权限问题,三是SELinux状态. 1.缺少index.html或index.php配置,检查是否配置了index(博主就是由于忘记配置index导致403) server {listen 80;server_name localhost;index index.php index.html;root / opt/ww

oracle中fdisk导致的ASM磁盘数据丢失的解决方法_oracle

11.2.0.3 数据库因asm磁盘头块损坏宕机,出现错误ORA-15196.更详细的错误如下:ORA-15196: invalid ASM block header [kfc.c:26076] [endian_kfbh] [256] [0 != 1]进一步的检查发现DataGuard同样损坏.这让大家陷入不解,为何主库和备库会同时损坏? 最终经过仔细检查发现:是SA发现主机上一块磁盘没用,在主备都执行了fdisk mkfs. 最终的恢复得益于用户的异地灾备环境.这个案例给我们的警示是:1.DB