使用反向代理Nginx在远程服务器中下载文件
我有一台运行Nginx反向代理的服务器 我们的应用程序运行在另一台服务器上,该服务器使用这个Nginx代理提供服务。下面是我使用过的配置,它工作正常使用反向代理Nginx在远程服务器中下载文件,nginx,proxy,reverse,Nginx,Proxy,Reverse,我有一台运行Nginx反向代理的服务器 我们的应用程序运行在另一台服务器上,该服务器使用这个Nginx代理提供服务。下面是我使用过的配置,它工作正常 location / { rewrite ^/(.*) /$1 break; proxy_pass http://10.0.0.121:8000; } 我需要在应用程序机器(10.0.0.121)中下载一个pdf文件,它位于/home/ubuntu/app/pdf/d
location / {
rewrite ^/(.*) /$1 break;
proxy_pass http://10.0.0.121:8000;
}
我需要在应用程序机器(10.0.0.121)中下载一个pdf文件,它位于/home/ubuntu/app/pdf/data-2021-03-25.pdf下
如何使应用程序计算机中的文件可以从代理服务器下载,请帮助
提前感谢。我只需在
10.0.0.121
上安装另一个nginx实例,并进行如下配置。非生产准备就绪
server {
listen 8080;
server_name ...;
root /home/ubuntu/app/pdf;
location = /data-2021-03-25.pdf {
try_files $uri $uri/ =404;
}
server {
listen 8090;
location / {
proxy_pass http://localhost:8080;
}
}
}
未测试,但此服务器将处理为文件提供服务的请求。然后您可以在另一台服务器上使用proxy\u pass
来代理请求
但是除了这个选项之外,您还可以使用python、perl、php、java、nodejs、assembly或您想要使用的任何编程语言来打开http端口并在传入请求时为文件提供服务。这真的是你的选择
只要确保如果要使用代理解决方案,您正在清理代理上的请求。例如通过发送类似于curl-v localhost:8090/pdf/./other/file
的请求,在上面的设置中进行一个小改动,您就可以作弊并从home/app目录获取任何其他文件。因此,请确保您使用的是root
(/home/ubuntu/app/pdf/)指令,并在代理服务器上设置与pdf文件匹配的位置
这在我的演示应用程序中起了作用