我有很多静态页面,其中包括 html 文件 + js(SCORM 包)。我有动态页面,还有与静态页面 JS 对话的 JS。
静态页面在 iframe 中打开,我们从第三方(SCORM 内容)按原样获取它们,因此不可能进行任何更改。
出于性能考虑和集中化考虑,我们希望将所有静态文件放在使用 lighthttp 的专用服务器上。
问题:现在动态页面(通过 Apache 提供服务)中的 js 无权与 light-http 托管页面对话。
两者的域相同,端口不同。
关于如何实现这一点的任何建议。
确保动态和静态内容都是同一域和端口号下的服务器(我的错误是由于 JavaScript 的“沙盒”)。这可以通过代理来自一台服务器或另一台服务器的选定请求来实现。
基本上有三个选项: 1. 在端口 80 上设置 Lighttpd 并让它代理(转发)对动态内容的请求到另一个端口或机器上的 Apache 2. 在端口 80 上设置 Apache 并让它代理(转发)对在另一个端口或机器上运行的 Lighttpd 的静态内容的请求 3. 设置单独的代理服务器会将静态内容请求转发到一个服务器,将动态请求转发到另一个服务器
在这两种情况下,都需要“mod_proxy”(用于相应的服务器)。如果重定向的 URL 不在公共前缀下,则 2 mod_rewrite 可能很有用。
我更喜欢选项 1.,因为端口 80 上的服务器需要处理所有请求(它完全服务的请求和转发的请求),然后让它成为更轻的过程。