redirect到公用事业服务器的方法

我有一种情况,我需要促进200M的file upload到与主网站服务器分离的公用事业服务器。 这是我的configuration:

Authenticated Client on Public Internet /\ \ | \_____ 200M | \_____ | \_____ VV Authenticating <-------> Utility Server Web Site (EC2, Windows, Apache, Python, Django) Server (EC2 LAMP) 

我目前的解决scheme仅仅是让我的Web服务器通过实用程序服务器的EC2 URL,并允许客户端直接与实用程序服务器通信。 这有两个缺陷 – 它暴露未经身份validation的实用程序服务器的URL,它需要客户端上的跨域技巧来将POST上载路由到实用程序服务器。

问题是什么是从客户端隐藏实用程序服务器的最佳方式,而不通过Web服务器推送file upload数据? 这些是我想要尝试的想法:

  1. DNS将实用程序服务器与子域别名。 这可能会修复我的跨域脚本问题,但我不确定它是否有助于保护公用事业服务器。 也许我可以从实用程序服务器检查Web服务器的身份validationCookie?
  2. 在网站的Apacheconfiguration中重写规则。 我不清楚这是如何影响POST的数据实际上被路由的。
  3. 在网站的Apacheconfiguration中redirect。 我不确定是否可以使用redirect来隐藏用户的实用程序服务器URL。
  4. 从网站的控制器代码redirect。 与#3相同的问题,但我认为这可能比#3更好,因为它会通过PHP身份validation层传递请求。
  5. 更好的东西??

笔记:

  • 实用程序服务器的不寻常configuration是需要执行的实用程序的可用软件的交集的function。
  • 实用程序服务器不是严重恶作剧的高价值目标。 只要把前门锁上就足够了,但是我想避免把钥匙留在垫子下面。

您无法在客户端中隐藏实用程序服务器url,而无需在Web服务器中进行代理。 我将在Web服务器和实用程序服务器中设置共享密钥,并按以下步骤操作:

Web服务器使用以下参数绘制链接或将客户端redirect到实用程序服务器:

  1. validation用户名
  2. 链接生成(或redirect)时间戳
  3. 客户端IP
  4. 签名(前3个值与共享密钥散列)

在实用程序服务器中,检查:

  1. 收到的签名是正确的(用共享密钥重做哈希)
  2. 客户端IP与参数中报告的相同
  3. 从参数中接收的时间戳开始经过的时间less于一个合理的数量(假设Web服务器和实用程序服务器使用相同的时间源,则应该10-20秒)

如果所有检查都通过,您可以接受用户身份validation(因为您信任共享密钥),启动会话并绘制表单以进行文件上载。