InVerse (ConverseJs) with Reverse Proxy not working (perpetual loading)

Hello friends,

I just installed the InVerse plugin to use the ConverseJs browser client.

The default URLs are as followed:

http://jabber.mydomain.de:7070/inverse/
and
https://jabber.mydomain.de:7443/inverse/

And if I use them to login, everything works like a charm.

Since those URLs are not very convinient from multiple perspectives, I created two entries for the reverse proxy in my Apache2 config:

<VirtualHost *:80>
       ProxyPreserveHost On
       ProxyPass / http://jabber.mydomain.de:7070/inverse/
       ProxyPassReverse / http://jabber.mydomain.de:7070/inverse/
       ServerName jabber.mydomain.de
       ServerAlias www.jabber.mydomain.de
</VirtualHost>

and

<VirtualHost *:443>
        ProxyPreserveHost On
        ProxyPass / http://jabber.mydomain.de:7070/inverse/
        ProxyPassReverse / http://jabber.mydomain.de:7070/inverse/
        ServerName jabber.mydomain.de
        ServerAlias www.jabber.mydomain.de
        (...)
</VirtualHost>

Unfortunately, it’s not working as desired. If I try to login using the above mentioned domain (http://jabber.mydomain.de/) I get some kind of a refresh loop for several seconds, and then a login failed message.

Am I missing something?

Unfortunately, I am not famiair with apache2 as a reverse proxy so my help is very limited. This is likely syntax issue within your apache conf file though.

1 Like

What makes you think this might be a syntax error? I have several other similar reverse proxy enties, which are working fine. Also, as mentioned above, I can use the configured URL to open the ConverseJs page, only the login is not working. Therefore I was thinking, this might have something to do with the http-binding url, but my OpenFire isn’t running behind a reverse proxy and everything is set to default, so I really don’t know what exactly is the problem.

I don’t see in your config that you are setting or using x-forward-for. This is usually set when doing reverse proxy.
also you may wan to look at flushpackets=on

1 Like

I figured it out. I had to add several entries to my apache config.

<VirtualHost *:443>
        ProxyPreserveHost On
        ProxyRequests Off
        ProxyPass /crossdomain.xml https://jabber.mydomain.de:7443/crossdomain.xml
        ProxyPassReverse /crossdomain.xml https://jabber.mydomain.de:7443/crossdomain.xml
        ProxyPass /http-bind/ https://jabber.mydomain.de:7443/http-bind/
        ProxyPassReverse /http-bind/ https://jabber.mydomain.de:7443/http-bind/
        ProxyPass / https://jabber.mydomain.de:7443/inverse/
        ProxyPassReverse / https://jabber.mydomain.de:7443/inverse/
        ServerName jabber.mydomain.de
        ServerAlias www.jabber.mydomain.de
        SSLEngine on
        SSLProxyEngine on
        SSLProxyVerify none
        SSLProxyCheckPeerCN off
        SSLProxyCheckPeerName off
(...)
</VirtualHost>

thanks for returning and posting your solution. This will likely help others in the future.