nginx 配置反向代理作为文件服务使用
2021/12/8 7:16:45
本文主要是介绍nginx 配置反向代理作为文件服务使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
业务场景
前提,不知道服务器的账号密码,
目的,想快速的进行服务器之间的文件传输
想到了使用文件服务器,在当前服务器请求目标服务器的文件
wget http://127.0.0.1:3334/file/xxx.jar
感觉只是为了文件的传输去搭建一个文件服务器,感觉有点大材小用。
那么,我就想到了nginx是不是可以反向代理到服务器的指定目录中,进行文件的绝对路径下载?
以下是nginx.conf的部分配置文件,将此段进行配置即可
server { listen 3334; server_name localhost; client_max_body_size 100M; #开启长连接后,返回客户端的会话保持时间为60s,单次长连接累计请求达到指定次数请求或65秒就会被断开,后面的60为发送给客户端应答报文头部中显示的超时时间设置为60s:如不设置客户端将不显示超时时间。 keepalive_timeout 65 60; #在一次长连接上所允许请求的资源的最大数量 keepalive_requests 100; # 测试用 location / { default_type application/json; add_header Content-Type 'application/javascript; charset=UTF-8'; return 200 '{"code":201,"data":{},"msg":"成功","total":0}'; } location /file { root /root/app/nginx/apps/app01; # add_header Content-Disposition "attachment"; autoindex on; autoindex_exact_size off; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
想防止浏览器自动打开文件而不是下载文件,添加
add_header Content-Disposition "attachment";
// 所有文件都不打开,且支持改名,改名时的访问格式如下所述 location / { add_header Content-Disposition "attachment;filename*=utf-8'zh_cn'$arg_n"; }
一般存储在服务器上的文件都不会用原来的名字,所以下载的时候需要改名,可通过url中添加参数,然后在nginx中根据参数来改名。
举例:参数为 n=xxx.jpg
url:https"//xxxxx?n=xxx.jpg //表示把下载下来的文件名字改为xxx.jpg
nginx需要配置成
location / { if ($request_uri ~* ^.*\?n=([^&]+)$) { add_header Content-Disposition "filename*=$arg_n"; } }
支持改名和访问时不打开文件<有时候,我们经常会遇到直接访问.txt文件的时候,就直接在浏览器里打开了,其实我们想要的是下载>
location / { if ($request_uri ~* ^.*\?n=([^&]+)$) { add_header Content-Disposition "attachment;filename*=$arg_n"; } }
我将服务器的绝对路径进行代理出来。使用http访问的时候,可以写入脚本,从外部输入变量进行文件名的写入。基于扩展,我可以在Jenkins服务编译后的文件包存放,然后,在各个服务器中使用wget进行请求地址。
这篇关于nginx 配置反向代理作为文件服务使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-29Nginx发布学习:从入门到实践的简单教程
- 2024-10-28Nginx发布:新手入门教程
- 2024-10-21nginx 怎么设置文件上传最大20M限制-icode9专业技术文章分享
- 2024-10-17关闭 nginx的命令是什么?-icode9专业技术文章分享
- 2024-09-17Nginx实用篇:实现负载均衡、限流与动静分离
- 2024-08-21宝塔nginx新增8022端口方法步骤-icode9专业技术文章分享
- 2024-08-21nginx配置,让ws升级为wss访问的方法步骤-icode9专业技术文章分享
- 2024-08-15nginx ws代理配置方法步骤-icode9专业技术文章分享
- 2024-08-14nginx 让访问带有/relid的地址返回404 ,例子 /relid-x-0.36-y-131.html-icode9专业技术文章分享
- 2024-08-14nginx 判断地址有/statics/的路径,指向到/home/html/statics/目录-icode9专业技术文章分享