Hi,
I am running a debian 7.6 machine with kolab (email/calendar) and installed openfire 3.9.3 from .deb package.
(this is all in a testing vm locally on 192.168.0.150 as gedv.local, I want verified configurations before installing on production)
the web service is provided by apache2, ldap service provided by 389 (red hat)
i managed to get openfire with ldap-auth working.
openfire works fine with thunderbird or pigdin when connection via normal xmpp protocol.
now I would like to integrate the converse plugin into roundcubemail. for that I need http-bind connections (local) to work.
(this plugin will enable a chat window connected to openfire running on the same host in webmail)
it seemed pretty easy but I cant manage to get it to work.
Of course http binding is enabled (port 7070)
scripting syntax is enabled (I tried disabled, too)
cors support: enabled with * (tried disabled)
xff: enabled (tried disabled)
cross-domain policy: unchanged
apprently to use converse I need to enable proxypass
I enabled the proxypass for /http-bind in apache
i tried with firefox:
--> http://192.168.0.150:7070/http-bind ----> gives Bad Request (Jetty)
--> http://192.168.0.150/http-bind -----> also gives Bad Request (Jetty)
pigdin settings:
xmpp
username: myname
domain: gedv.local
ressource: [empty]
password: ********
use encryption if available
[x] allow cleartext auth over unencrypted channel
port 7070 *
server: [empty]
proxy: [empty]
bosh-url: http://192.168.0.150/http-bind **
* also tried empty or 80
** also tried with port 7070
[ to be clear:
pigdin is NOT running on the same host as openfire.
BUT converse will be.
but before I try to get converse to run I want to confirm
http-bind is working! ]
now pigdin is connecting and keeps connecting without any error. but it never fully logs on.
unfortunately, I dont have too much experience with openfire and bosh or java to delve deeper into the problem.
ive also tried strophe.js to test the http-bind (basic test).
setting: var BOSH_SERVICE = 'http://192.168.0.150/http-bind'
alternative: var BOSH_SERVICE = 'http://192.168.0.150:7070/http-bind'
output |
---|
Strophe is connecting. SENT: <body rid='3764513684' xmlns='http://jabber.org/protocol/httpbind' to='gedv.local' xml:lang='en' wait='60' hold='1' content='text/xml; charset=utf-8' ver='1.6' xmpp:version='1.0' xmlns:xmpp='urn:xmpp:xbosh'/> RECV: <body xmlns='http://jabber.org/protocol/httpbind' xmlns:stream='http://etherx.jabber.org/streams' from='gedv.local' authid='6edd06d9' sid='6edd06d9' secure='true' requests='2' inactivity='30' polling='5' wait='60' hold='1' ack='3764513684' maxpause='300' ver='1.6'><stream:features><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>PLAIN</mechanism></mechanis ms><compression xmlns='http://jabber.org/features/compress'><method>zlib</method></compression><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'/><session xmlns='urn:ietf:params:xml:ns:xmpp-session'/></stream:features></body> SENT: <body rid='3764513685' xmlns='http://jabber.org/protocol/httpbind' sid='6edd06d9'><auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN'>c2Nob2VuZmVsZHRAZ2Vkdi5sb2NhbABzY2hvZW5mZWxkdABzY290dHkzNA==< /auth></body> SENT: <body rid='3764513685' xmlns='http://jabber.org/protocol/httpbind' sid='6edd06d9'><auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN'>c2Nob2VuZmVsZHRAZ2Vkdi5sb2NhbABzY2hvZW5mZWxkdABzY290dHkzNA==< /auth></body> SENT: <body rid='3764513685' xmlns='http://jabber.org/protocol/httpbind' sid='6edd06d9'><auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN'>c2Nob2VuZmVsZHRAZ2Vkdi5sb2NhbABzY2hvZW5mZWxkdABzY290dHkzNA==< /auth></body> |
found some hint that one should add the body rid setting to see if bosh is working...
loading with firefox:
http://192.168.0.150/http-bind/?<body rid="1"/>
http://192.168.0.150:7070/http-bind/?<body rid="1"/>
output (both ports) |
---|
_BOSH_("<body xmlns=\"http://jabber.org/protocol/httpbind\" xmlns:stream=\"http://etherx.jabber.org/streams\" from=\"gedv.local\" authid=\"60296394\" sid=\"60296394\" secure=\"true\" requests=\"2\" inactivity=\"30\" polling=\"5\" wait=\"60\"><stream:features><mechanisms xmlns=\"urn:ietf:params:xml:ns:xmpp-sasl\"><mechanism>PLAIN</mechanism></mechan isms><compression xmlns=\"http://jabber.org/features/compress\"><method>zlib</method></compression><bind xmlns=\"urn:ietf:params:xml:ns:xmpp-bind\"/><session xmlns=\"urn:ietf:params:xml:ns:xmpp-session\"/></stream:features></body>") |
pigdin debug is showing:
pigdin debug: |
---|
(22:30:53) dnsquery: Performing DNS lookup for 192.168.0.150 |
i cant see any problem in apache log
openfire info.log is showing:
2014.09.24 22:25:42 org.jivesoftware.openfire.http.HttpSessionManager - Closing idle session: gedv.local/b38545f 2014.09.24 22:29:07 org.jivesoftware.openfire.http.HttpSessionManager - Closing idle session: gedv.local/bf107330 |
in warn.log what i found is:
at org.jivesoftware.openfire.http.HttpSessionManager$HttpPacketSender.init(HttpSes sionManager.java:429) at org.jivesoftware.openfire.http.HttpSessionManager$HttpPacketSender.access$200(H ttpSessionManager.java:417) |
if you have more questions and/or need more logs I will gladly provide them...
any help would be appreciated!