我正在尝试使用Jabber创建一个网络聊天。我已安装Openfire,我可以登录管理面板:9090,以便服务器正在运行。
现在使用strophe.js基本示例时,使用strophe.js我会收到此错误:
5XMLHttpRequest无法加载http://jabber.xxx.dk:7070/http-bind/。 Access-Control-Allow-Origin不允许原点http://jabber.xxx.dk。
我如何允许域名?
答案 0 :(得分:6)
如果在Openfire中启用CORS并将域策略更改为全部接受后仍然无法正常工作,请检查您的Openfire网址。您可能需要添加' /'最后(例如'http://dimain:7070/http-bind/'
)。
没有斜线,它对我没用。
答案 1 :(得分:5)
感谢@SamGoody指出这一点。从版本3.8.0开始,OpenFire现在支持1 CORS [2],这是您的用例所需要的。要启用它,请转到OpenFire管理控制台,服务器,服务器设置,HTTP绑定选项卡。确保“提供对CORS(跨源资源共享)的支持”已启用,域列表为*
(这些是默认值)。
答案 2 :(得分:2)
另一种选择是将您的apache服务器设置为代理端口7070,这样您就不会处理跨域问题。在httpd.conf文件中,代码看起来像这样:
ProxyRequests Off
ProxyPass /http-bind http://127.0.0.1:7070/http-bind/
ProxyPassReverse /http-bind http://127.0.0.1:7070/http-bind/
答案 3 :(得分:0)
如果您登录管理面板,请转到“服务器设置”选项卡,然后转到“HTTP绑定”,检查两个选项(HTTP绑定和脚本语法)是否设置为“已启用”
答案 4 :(得分:-2)
我遇到了同样的问题,并且知道端口没有打开访问权限。 虽然浏览器说它是CORS Access-Control-Allow-Origin问题。 这有时是开放端口问题。请确保http绑定端口已打开,并且可以通过正在测试的系统上的tcp访问。