【发布时间】:2025-12-03 09:30:02
【问题描述】:
我正在尝试用 openfire 设置 BOSH,启用它后,我已经为 apache 设置了代理
如下
<VirtualHost XX.XX.XXX.XXX:80>
ServerName mydomain.com
ServerAlias www.mydomain.com
DocumentRoot /home/mydomainname/public_html
ServerAdmin webmaster@mydomain.com
UseCanonicalName Off
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /http-bind/ http://www.mydomain.com:7070/http-bind/
ProxyPassReverse /http-bind/ http://www.mydomain.com:7070/http-bind/
<IfModule mod_suphp.c>
suPHP_UserGroup mydomainname mydomainname
</IfModule>
<IfModule !mod_disable_suexec.c>
SuexecUserGroup mydomainname mydomainname
</IfModule>
ScriptAlias /cgi-bin/ /home/mydomainname/public_html/cgi-bin/
</VirtualHost>
但是当我将 BOSH 连接设置为 /http-bind/ 或 http://mydomain.com/http-bind
使用 strophe.js 发送 XMPP BOSH 请求时返回 404 ERROR
我需要在 apache2 中不能做任何事情吗?
我的设置在/etc/httpd/conf/httpd.conf下
挖掘 www.mydomain.com
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.5 <<>> www.mydomain.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4697
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.mydomain.com. IN A
;; ANSWER SECTION:
www.mydomain.com. 14400 IN CNAME mydomain.com.
mydomain.com. 14400 IN A XX.XX.XXX.XXX
;; Query time: 61 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Wed Dec 5 02:2
0:20 2012
;; MSG SIZE rcvd: 66
getent 主机 www.mydomain.com
XX.XX.XXX.XXX mydomain.com www.mydomain.com
卷曲http://www.mydomain.com:7070/http-bind/
HTTP ERROR 400
Problem accessing /http-bind/. Reason:
Bad Request
Powered by Jetty://
【问题讨论】:
-
第一:当您获得 404 时,您期望得到什么?按顺序检查的事情:
dig www.mydomain.com在您的服务器上运行时返回什么?getent hosts www.mydomain.com在您的服务器上运行时返回什么?curl http://www.mydomain.com:7070/http-bind/在您的服务器上运行时返回什么?这些问题的答案将有助于缩小问题所在。 -
@Ladadadada aplz 查看更新
-
这是一个 400 错误而不是 404 但这可能是因为我们没有提供适当的 POST 参数或类似的东西。它至少让我们知道请求正在到达 Jetty。查看您的 Jetty 日志,看看其中是否有任何有用的信息。
标签: apache2 xmpp mod-proxy strophe