【问题标题】:How can I pass files from IP restricted server to web server?如何将文件从 IP 受限服务器传递到 Web 服务器?
【发布时间】:2012-06-26 15:26:31
【问题描述】:

我有客户使用我们的网站 (asp.net),他们必须登录。 该网站托管在服务器 1-2-3-4-5 上,流量会根据负载重定向到这些服务器。

然后我有存储某些文件的服务器 A,并且此服务器受 IP 限制,只允许服务器 1-2-3-4-5。

现在,在服务器 A 上,我想存储视频文件和 pdf 文件,我想让客户端可以访问这些文件并嵌入到网站中。我不想将其存储在 db 中 - 我想将文件存储在服务器上。

由于服务器 A 只允许来自服务器 1-2-3-4-5 的 IP,而不是来自客户端的 IP,我无法直接从客户端访问这些文件。我需要以某种方式将文件嵌入网站,使用来自网络服务器的 IP 获取文件。 我不能使用 i-frame,因为它使用客户端 IP。

关于如何从服务器访问和使用 IP 并将其传递给服务器 A 以获取文件的任何想法?是否可以使用 request.redirect 或 server.transfer ?

【问题讨论】:

  • 您需要嵌入文件还是足以让他们下载文件?
  • 您使用什么来进行负载的负载均衡?是否可以使反向代理(如果有)访问服务器 A ?在所解释的场景中,唯一的解决方案是通过其中一个 Web 服务器的代理通道。例如,使用 nginx 可以做得更好。
  • 我需要嵌入文件 - 流式传输视频。我不能让用户下载文件。
  • 我不想移动文件或将文件复制到任何地方 - 我只想能够将它们呈现给用户......
  • 好的...新信息...我确实想将文件发送给客户端,我不想嵌入它们或流式传输..这是我的一个误解.. 所以是的, 让他们下载文件就足够了

标签: c# asp.net


【解决方案1】:

使用 NFS 或 Windows 网络文件共享以允许 Web 服务器访问文件存储。

或者让 Web 服务器向文件存储发送 WebRequest,然后将文件发送到客户端。

但是不,您不能使用 Server.Transfer 转移到不同的服务器,尽管有名称。

【讨论】:

  • 我最终对文件存储使用了一个简单的 WebRequest 来获取文件并将文件发送到客户端。非常感谢!
猜你喜欢
  • 2020-12-26
  • 2021-03-20
  • 2011-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-29
  • 2012-12-29
相关资源
最近更新 更多