gpt4 book ai didi

openfire - 在 openfire 中访问 BOSH 时出现 Access-Control-Allow-Origin 错误

转载 作者:行者123 更新时间:2023-12-04 04:05:52 26 4
gpt4 key购买 nike

我正在使用 http-bind 和 openfire 来启用 BOSH 并使用 strophe 访问该服务,问题是我收到以下错误 Chrome

控制台报错

XMLHttpRequest cannot load http://127.0.0.1/http-bind. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access.

enter image description here

这是请求

enter image description here

我已经在 openfire 中启用了 BOSH

enter image description here

我已经尝试在 apache 配置文件 httpd.conf 中执行以下操作,但没有效果

<Proxy /http-bind>
Order allow,deny
Allow from all
</Proxy>

ProxyPass /http-bind http://127.0.0.1:7070/http-bind
ProxyPassReverse /http-bind http://127.0.0.1:7070/http-bind

最佳答案

错误 No 'Access-Control-Allow-Origin' header is present on the requested resource 表示您正在制作 Cross-domain (CORS)请求和必要的 CORS header 不可用。

您正在发出跨域请求,因为 BOSH 服务(即 http-bind)在与您的网站不同的端口上提供服务。

我在 OpenFire 的 HTTP 绑定(bind)设置中看到您启用了 CORS。也许您使用的浏览器不支持 CORS? (如 IE9)。

在任何情况下,您都可以解决所有浏览器的这个问题,而不是使用 CORS,将 http-bind 地址反向代理到与 HTML 服务相同的域和端口上。

Apache 中的这个片段将为您完成:(我假设您在端口 80 上为站点提供服务)。

<VirtualHost *:80>
ServerName localhost
RewriteEngine On
RewriteRule ^/http-bind(.*) http://localhost:7070/http-bind$1 [P,L]
</VirtualHost>

这样您就可以在与站点本身相同的域(和端口)上访问 BOSH 服务(即 http-bind)。

有关详细信息,请参阅 Converse.js documentation on this

关于openfire - 在 openfire 中访问 BOSH 时出现 Access-Control-Allow-Origin 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19982089/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com