0

签名端点是否需要与客户端代码驻留在同一物理服务器上?例如,我希望 client.html 驻留在 apache 网络服务器 web.acme.com 上。用于签名的 servlet 驻留在 tomcat.acme.com 上。

这是可接受的配置吗?

j

4

1 回答 1

0

您正在询问对跨域请求的支持。Fine Uploader 从 3.3 版开始支持此功能。该文档概述了正确考虑跨域环境(例如您的环境)必须执行的操作。您的服务器需要进行编码以正确遵循 CORS 规范,这在 IE9 和更早版本中可能会有些棘手。Github 上的 Fine Uploader Server 存储库中有一个 PHP 示例,其中包括用于 Fine Uploader S3 的全功能跨域感知服务器。如果我没记错的话,您使用的是 Java,并且还没有支持 CORS 的 Java 示例。

要让 Fine Uploader S3 的跨域环境中的一切正常工作,您首先需要将选项expected的属性设置为. 在服务器端,您需要处理 OPTIONS(预检)请求,并在 OPTIONS 和 POST 响应中返回正确的 CORS 标头。如果您在跨域环境中使用删除文件功能,如果您需要支持 IE9 及更早版本,您还需要覆盖选项的默认属性为“post”(注意该属性在 Fine Uploader S3 中默认为)。 corstruemethoddeleteFileallowXdrtrue

当它被 Fine Uploader 3.3 推出时,我写了一篇关于 CORS 支持的博客文章。您可以将相同的概念应用于 Fine Uploader S3。您还可以查看处理跨域环境中所有功能的Fine Uploader S3 PHP CORS 示例。事实上,主页上的实时 S3 演示使用后端上的确切 PHP 代码作为服务器部分,并且页面托管在不同的域上。

于 2013-10-09T18:55:35.990 回答