![](/img/trans.png)
[英]How to proxy files from S3 through rails application to avoid leeching?
[英]How to proxy files from firewalled server through rails application
我在Nginx上运行了一个Rails应用程序,该应用程序需要提供文件以便从另一台内部服务器下载。 内部服务器使用动态URL生成要下载的文件,因此它不是位于文件夹中的静态文件。 Rails服务器和带有文件的服务器都在同一LAN上,但是只有Rails服务器在端口80上对公众开放。
另外,我希望提供的文件大小从5GB-200GB不等,因此,如果可能的话,我不想在整个下载过程中使用rails进程。 有没有办法用Net :: HTTP + send_data做到这一点? 还是某种Nginx代理规则?
您可以从LAN内部下载具有以下网址的文件:
http://username:password@192.168.0.5/export?uuid=1234567890
问题是1)没有对该URL的访问控制,通过用户/ pass,您可以通过传入其uuid参数来下载所需的任何文件,以及2)服务器只能通过LAN访问。
我通过这里的教程找出了这个问题的答案: http : //kovyrin.net/2010/07/24/nginx-fu-x-accel-redirect-remote/
要处理HTTP基本身份验证,您需要将此行添加到您的nginx配置中:
proxy_set_header Authorization "Basic BASE64_USER_PASS";
其中BASE64_USER_PASS是您的用户名和密码的base64字符串,格式为“ user:pass”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.