我在 Windows 中使用 openfire 来设置 bosh 连接管理器...安装成功,但是我给出的 URL http://localhost:9090/bosh它说
HTTP 错误:404
NOT_FOUND RequestURI=/http-bind/
由码头提供支持://
试过http://localhost:9090/http-bind/ 给出了同样的错误
任何人都可以请告诉我发生了什么...我该如何排除故障 谢谢
我在 Windows 中使用 openfire 来设置 bosh 连接管理器...安装成功,但是我给出的 URL http://localhost:9090/bosh它说
HTTP 错误:404
NOT_FOUND RequestURI=/http-bind/
由码头提供支持://
试过http://localhost:9090/http-bind/ 给出了同样的错误
任何人都可以请告诉我发生了什么...我该如何排除故障 谢谢
尝试将端口设置为7070
我相信这是 Openfire 的默认 BOSH 端口。转到管理控制台并检查 http 绑定(bosh 所做的是将 xmpp 协议绑定到 http 请求响应模型......基本上)
http://127.0.0.1:9090/http-bind.jsp
编辑:实际上你所说的“给出网址”是什么意思?你把它放到浏览器中了吗?管理员控制台网址是http://127.0.0.1:9090/index.jsp
尝试使用POST
而不是GET
包含<body/>
元素,如XEP-0206中所指定:
POST /bosh HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: 275
<body content='text/xml; charset=utf-8'
from='user@localhost'
hold='1'
rid='1573741820'
to='localhost'
wait='60'
xml:lang='en'
xmpp:version='1.0'
xmlns='http://jabber.org/protocol/httpbind'
xmlns:xmpp='urn:xmpp:xbosh'/>
BOSH 请求需要一个 BODY。
如果您HTTP Bind Settings
不允许,Script Syntax
那么您将收到404
GET 请求错误。如果您启用脚本语法,即允许访问受限的 BOSH 客户端连接到服务器,那么您将收到400
GET 请求错误,因此您至少会知道 Jetty 正在侦听该端口。
要发送有效请求,您应该使用正文发出 POST 请求,例如使用 cURL 您可以运行(为清楚起见添加了换行符):
curl -X POST -d "<body content='text/xml; charset=utf-8'
from='user@localhost'
hold='1'
rid='1573741820'
to='localhost'
wait='60'
xml:lang='en'
xmpp:version='1.0'
xmlns='http://jabber.org/protocol/httpbind' xmlns:xmpp='urn:xmpp:xbosh'/>"
http://desktop-nquceg9:7070/http-bind/
尝试设置Script Syntax
为http://127.0.0.1:9090/http-bind.jspEnable