我正在尝试运行WeInRe,它作为nodejs模块安装在我的Mac上。但是,客户端不加载javascript,因为nodejs服务器在端口8080上运行,而我的站点在80上运行。
关于如何解决此问题的任何帮助?
谢谢PD
找到了!解决方案是在同一端口上与 Apache 一起运行 NodeJS 服务器。
http://arguments.callee.info/2010/04/20/running-apache-and-node-js-together/
这是在端口 80 上运行apache 网站,在端口 8080 上运行节点 js 服务并使用上面博客文章中的 .htaccess RewriteRule 的最终解决方案,修改为通过 nodejs 运行 WeInRe 模块。
在 apache 网站的 DocumentRoot 中,添加以下内容:
Options +FollowSymLinks -MultiViews
<IfModule mod_rewrite.c>
RewriteEngine on
# Include the WeInRe javascript in the client like this:
# <script src="http://your.domain.com/node/target/target-script-min.js#xyz"></script>
# Access the WeInRe console like this:
# http://your.domain.com/node/client#xyz
RewriteRule ^node/(.*) http://your.domain.com:8080/$1 [P]
# Redirect for all the calls WeInRe makes from the client
RewriteRule ^ws/(.*) http://your.domain.com:8080/ws/$1 [P]
这会将所有 WeInRe 调用路由到服务器上的端口 8080,但不会影响客户端,因此不会发生跨域错误。