powered by Jive Software

3.5.0 enable http-bind?

I can’t seem to get http-bind to work in openfire 3.5.0. it works for me in 3.3.1 but not with the new version. the default ports have change to 7070 and 7443 now. whenever I go to the page it just says error not found. how can I enable http-bind so I can use jwchat since sparkweb is all but useless for me (can’t do ssl)

What OS are you running it on?

well, i’ve tried everything and it seems that http-bind is not working in 3.5.0

i’m using centos4 and 3.5.0 rpm…

any help or workaround??

Is the CentOS firewall turned on? It will block those ports by default. system-config-securitylevel should tell you what’s blocked and what’s not.

thks a lot for your reply,

but what i’m trying to accomplish is to access remotely to sparkweb and login using only http port (80).

This is because from a lot of remote places i cannot access the 7070 port used.

What i’ve got at my apache config is:

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

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

and at the index.html file is

server: “localhost”,

location: window.location.href,

connectionType : “http”,

port: “7070”,

bindPath: “/http-bind/”,

autologin: “false”,

            policyFileURL: "http://mychatserver/crossdomain.xml"

If i’ve got access to 7070 port from outside it works fine, but because it’s making a direct tcp connection to this port, so this wouldn’t be useful if i’m behind a restrictive firewall like a lot of places have.

So i must be missing some configuration or the http-bind function is somehow broken in 3.5.0…

I believe using proxypass means that apache is serving from another location, so your index.html file is getting ignored. I went through getting this setup using apache (not as a proxy) to access it using 443, but you could adopt my thread and just use port 80

so in your config you don’t need to open up a port different to 443?

because in my case with the config pointed in your thread i’ve got this when i’ve logged in the sparkweb client,

using http and port 7070

sudo netstat -tupan | grep 7070

tcp 0 1 localip:57823 chatserverip:7070 SYN_SENT 9711/firefox-bin

using https and port 7443

sudo netstat -tupan | grep 7443

tcp 0 1 localip:51037 chatserverip:7443 SYN_SENT 9711/firefox-bin

If i enable any of this ports at my firewall i’ve got a succesful connection…

I believe you are right. I have tested this externally but it doing it the way suggested in my link above, you connect to sparkweb on port 443 (apache) and then communication between your client and the server is on 7443. So opening the firewall would be the only way for that situation. It looks like you might need a proxy pass somewhere but I honesly don’t know where. If its in the same virtual host container then it will be a proxy and ignore your local stuff. you could have a seperate apache virtual host for the proxy pass stuff, but how do you specifiy directories if you did this? in the 10 minutes that I looked for this, this is the only thing I have found http://plone.org/documentation/how-to/mixing-apache-and-plone

I couldn’t get it to work. I will do some more playing around. If you get it to work I would be interested in seeing how you did it.

Ok.

After fiddling around a LOT i’ve managed to solve this issue.

The trick lies in the index.html file created for the sparkweb site, so here it goes:

index.html (you can get it accessing to the sparkweb site through the admin console and copying the index.jsp source)

Make sure your getConfig function looks like this:

function jive_sparkweb_getConfig()

{

return {

server: “yourpublichostnamesite”,

location: window.location.href,

connectionType : “http”,

port: “80”,

bindPath: “/http-bind/”,

autologin: “false”,

            policyFileURL: "http://yourpublichostnamesite/crossdomain.xml"

};

The trick is the port number. If you use anything else than 80 or 443 (both publicy accesible from outside and rarely blocked by firewalls or proxies) you’d have trouble with outside clients without complete internet access.

As apache is configured to make the proxypass or rewrite magic the bindPath line should make work sparkweb from outside.

Also note that the crossdomain file is accessible at the same site, this is needed by sparkweb (don’t know why thou)

crossdomain.xml

<cross-domain-policy>

<allow-access-from domain="*" to-ports=“5222”/>

</cross-domain-policy>

Now for apache your VirtualHost should look like this:

<VirtualHost yourlocalip:80>

ServerAdmin webmaster@yourdomain

DocumentRoot /var/www/html/sparkweb/

ServerName yourpublichostnamesite

ErrorLog logs/ourpublichostnamesite-error_log

CustomLog logs/ourpublichostnamesite-access_log common

<Directory /var/www/html/sparkweb/>

Options +Multiviews

</Directory>

AddDefaultCharset UTF-8

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

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

ProxyRequests Off

<Proxy *>

Order deny,allow

Allow from all

</Proxy>

</VirtualHost>

At the admin console i’ve got enabled http binding and bosch script enabled.

With this configuration you should be able to access your sparkweb using only 80 or 443 ports.

If you’re using 443 you should redirect to the https binding port instead.

Hope this helps out there.