上传部分
如果在应用服务器里面写了进度条的程序,通过NGINX转发你就坑了,NGINX会把整个附件数据先本地缓存,缓存完毕后转发给你的应用服务器,在这个过程之间,恭喜,你的进度条永远就是0了,待转发后,你的进度条可能瞬间就可以到达一百。好吧,恭喜了,转发了一次。
解决这个问题的方法是配置proxy_request_buffering off ;具体功能见官网说明。
最后讲一句,放在HTTP里面。
下载部分
NGinx配置
server {
charset GBK;
listen 8083; #端口
server_name localhost; #服务名
location / {
proxy_pass http://127.0.0.1:8001/;#转到的TOMCAT
}
location ~ ^/testfile/(.*)\.txt$ {
#set $obj_file "$1.txt";
#if (!-f /t1/$obj_file){
# rewrite ^ /t1/ last;
#}
internal; #禁止访问
error_page 404 =200 @backend; #跳转到配置文件
}
location @backend {#配置
rewrite ^/testfile/(.*)$ /Samples/testfile.jsp?path=$1 break; #$后面为TOMCAT验证路径
proxy_pass http://127.0.0.1:8001;
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;
break;
}
}
JSP部分,
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
//自己获取传过来的参数,进行解析验证是否合法。,合法后把/t1/1.txt的地址换位文件实际地址,切记带/
response.setHeader("Content-Disposition","attachment;");
response.setHeader("Content-Type","application/octet-stream");
response.setHeader("X-Accel-Redirect","/t1/1.txt");
%>
参考资料
http://toptree.iteye.com/blog/1275200
http://www.oschina.net/question/54100_33185
以下为正则
http://blog.csdn.net/a519640026/article/details/9138487
nginx配置
http://segmentfault.com/a/1190000000437323
nginx优化
http://www.z-dig.com/nginx-optimization-25.html#_Toc422324204
相关推荐
Nginx和tomcat上传文件大小限制修改,Ngnix和tomcat默认对上传文件大小有限制。
【Nginx 静态文件缓存解决方案】 Nginx 是一款高性能的 HTTP 和反向代理服务器,常用于处理静态资源,以减轻后端服务器的压力。为了进一步提高静态资源的访问效率,我们可以利用 Nginx 的缓存功能。下面详细介绍...
### Nginx 搭建文件服务器:上传与获取文件 在互联网技术中,Nginx 被广泛用于构建高性能、稳定的Web服务器环境。本文将详细介绍如何利用 OpenResty + Nginx + Lua 实现一个文件服务器,该服务器支持文件上传与获取...
基于ssm+shiro+redis+nginx tomcat服务器集群管理项目 基于ssm+shiro+redis+nginx tomcat服务器集群管理项目 基于ssm+shiro+redis+nginx tomcat服务器集群管理项目 基于ssm+shiro+redis+nginx tomcat服务器集群管理...
### Nginx+Tomcat 实现高性能负载均衡的详细解析 #### 一、概述 在现代互联网架构中,为了提高网站或应用的可用性和性能,通常会采用负载均衡技术来分发请求到多个服务器上执行。其中,Nginx 和 Tomcat 组合是一种...
### Linux下Nginx+Tomcat整合的安装与配置详解 在现代的Web服务器架构中,Nginx作为高性能的反向代理服务器和负载均衡器,常被用来与Tomcat等应用服务器配合使用,以提高网站的响应速度、稳定性和安全性。本文将...
Nginx作为反向代理服务器,负责负载均衡,Tomcat作为应用服务器运行Java Web应用程序,而Memcached则作为分布式内存缓存系统,用于存储和共享session数据。 1. **Nginx**:Nginx是一个高性能的HTTP和反向代理服务器...
# 设置最大允许下载文件大小,可根据需要调整 try_files $uri $uri/ =404; # 如果文件不存在,返回404 } } ``` 然后,将配置链接到 `sites-enabled` 目录,并重启 Nginx 服务: ```bash # 链接配置文件 sudo ln...
nginx上传文件大小报错500的解决办法 采用nginx作反向代理,出现了一个诡异的问题,小文件可以提交,大文件会报500内部错误。这个是什么原因导致的呢? 查wiki可知,上传文件大小相关的有三个配置 client_body_...
Nginx的负载均衡和静态资源处理、Tomcat的动态内容渲染以及Redis的缓存功能,共同优化了系统的整体性能,使得服务能够应对大规模并发请求,同时保证了良好的用户体验。在实际部署中,还需要考虑监控、日志、安全等...
1. 下载和安装 Nginx 和 Tomcat 服务器。 2. 配置 Tomcat 服务器的启动端口。 3. 配置 Nginx 服务器的 upstream 模块。 4. 配置 Nginx 服务器的 proxy_pass 模块。 5. 启动 Nginx 服务器。 6. 访问 localhost/index....
- 解压缩下载的文件到指定目录,例如 `C:\nginx`。 2. **目录结构**: - 解压后,你会看到类似于以下的目录结构: ``` C:\nginx |- conf | |- nginx.conf (主配置文件) | |- mime.types (MIME 类型配置文件)...
主要配置nginx conf文件 增加以下内容 upstream mytomcats { server localhost:8080; server localhost:8081; } ">一 安装 1 jdk安装及tomcat7解压缩安装配置 不用说明 2 下载nginx1 4 2 for win32 解压安装 ...
8. **Nginx或Apache模块**:某些服务器软件提供扩展模块,如Nginx的`HttpUploadProgressModule`,可以提供文件上传进度信息,但需要服务器配置支持。 9. **PHP的cURL库**:在cURL中,`curl_multi_info_read`函数...
##### 3.1 Tomcat下载 1. 访问[Tomcat官方网站](https://tomcat.apache.org/)。 2. 在左侧的Download栏下选择Tomcat 7.x版本。 3. 下载页面中选择.zip格式文件,直接点击下载链接即可开始下载。 ##### 3.2 Nginx...
在IT行业中,构建高效、可扩展的Web服务是至关重要的,而"Nginx+Tomcat"的组合常被用于实现这一目标。本实例将详细阐述如何通过Nginx配置集群负载均衡,以实现动静分离,提升系统性能和稳定性。 首先,Nginx是一款...