2

Jabberを使用してWebチャットを作成しようとしています。Openfireをインストールしました。サーバーが実行されているように、:9090で管理パネルにログインできます。

ここで、strophe.jsの基本的な例を使用すると、strophe.jsに付属して、次のエラーが発生します。

5XMLHttpRequestはhttp://jabber.xxx.dk:7070/http-bind/をロードできません。Origin http://jabber.xxx.dkは、Access-Control-Allow-Originでは許可されていません。

ドメインを許可するにはどうすればよいですか?

4

5 に答える 5

6

OpenfireでCORSを有効にし、すべてを受け入れるようにドメインポリシーを変更しても機能しない場合は、OpenfireのURLを確認してください。最後に「/」を追加する必要がある場合があります(例'http://dimain:7070/http-bind/')。

スラッシュなしではうまくいきませんでした。

于 2014-03-19T12:54:13.427 に答える
5

これを指摘してくれた@SamGoodyに感謝します。バージョン3.8.0以降、OpenFireは1つのCORS [2]をサポートするようになりました。これは、ユースケースに必要です。これを有効にするには、OpenFire管理コンソール、サーバー、サーバー設定、HTTPバインディングタブに移動します。「CORS(クロスオリジンリソースシェアリング)のサポートを提供する」が有効になっていて、ドメインリストが*(これらはデフォルトです)になっていることを確認します。

OpenFire管理画面

于 2011-03-28T03:05:33.097 に答える
2

もう1つのオプションは、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/
于 2011-04-11T07:10:09.740 に答える
0

管理パネルにログインする場合は、[サーバー設定]タブに移動し、[HTTPバインディング]で、両方のオプション([HTTPバインディング]と[スクリプト構文])が[有効]に設定されていることを確認します。

于 2011-03-25T03:20:10.557 に答える
-2

私は同じ問題に直面し、ポートがアクセス用に開いていないことを知りました。ブラウザはCORSAccess-Control-Allow-Originの問題だと言っていますが。これは、オープンポートの問題である場合があります。httpバインドポートが開いていて、テストしているシステムのtcp経由でアクセスできることを確認してください。

于 2017-11-22T14:02:03.747 に答える