到目前为止,我在本地开发了完整版,在我的笔记本电脑上安装了所有内容(Apache,Openfire,JSJaC应用程序),运行得非常好。现在我想为Apache / Openfire使用远程服务器。我做了基本相同的步骤,包括。整个http-bind的东西。我使用JSJaC提供的simpleclient.html测试设置。
现在这是交易,如果我直接在远程服务器上使用simpleclient - 例如,http://here.domain.org/simpleclient.html - 它可以工作。如果我在本地使用它 - 例如,http:// [local_machine] /simpleclient.html - 并且使用相同的设置我得到503(服务不可用)。它看起来比Openfire / JSJaC更像是一个网络/ Apache问题,但我不是专家。
我对simpleclient的参数:
所以在我的apache虚拟主机配置文件中,我有以下几行:
所以基本上http绑定工作,因为当simpleclient.html驻留在服务器上时我可以连接。到目前为止我尝试了什么:
顺便说一句,例如,Pidgin我可以从笔记本电脑连接到远程服务器。只是JSJaC simpleclient不会这样做。所以我认为这是导致麻烦的http-bind。我会理解端口7070是否未打开,但确实如此。
非常感谢任何提示或帮助!
基督教
答案 0 :(得分:0)
好的,我明白了。这是一个跨域脚本问题。我开始研究JSJaC库并注意到它使XmlHttpRequests默认不会在不同的域中工作。因此,我不得不在Openfire-Server上使用Apache。我在VirtualHost配置文件中添加了以下条目:
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Methods "POST, GET, OPTIIONS"
Header always set Access-Control-Allow-Credentials true
Header always set Access-Control-Allow-Headers "Content-Type, *"
当然必须加载mod_headers
模块。
我不确定实际需要哪些条目,我没有尝试每种组合。我认为需要always
,因为对http-bind地址的请求是代理问题。