JWChat issues (again): "Internal Server Error. Disconnected."

Hi there

I’‘ve read various posts on the forum, about this issue, however none was able to solve mine! The problem persists, I’'ve tracked the http request and response and found out the following: jwchat creates an xmpp-http POST request, but openfire returns the default HTML page about “Openfire HTTP Binding Service”.

Post


Response


…etc… (I snipped the output, because it’'s what you get when you point your browser to the XMPP-HTTP-Bind URL)

I’‘ve added these fancy system properties and all, but I’‘m not able to get a real http binding response. Although I haven’‘t read the XEP-124 specification, so I’'m not sure what the response should be, but I guess something more xml-ish.

The issue appeared in Safari 3.0beta, Firefox (2.0.0.4, Mac & Linux), haven’'t tested it in IE though.

Hope somebody can enlight me, with a solution! Thanks in advance

JwChat needs to go through a HTTP server, it can’'t talk directly to the Jabber server.

AFAIK, jwchat is served by apache2 and then there are these ProxyPass things which redirect /http-bind/ to OpenFire’'s http binding.

So I’‘d still need a servlet like jabberHTTPBind? I thought that OpenFire’'s HTTP Binding makes this servlet obsolet?

You appear to be directing to the correct server though you need to goto, /http-bind/ and not to the root of Openfire.

Cheers,

Alex

I’'m also running in to exactly the same error.

JWChat is POSTing a but Openfire (actually Wildfire 3.2.3 in my case) is returning the body of the HTML page at the http-bind URL.

The body looks like this:

… same here. is there no solution ?

from my client i can access http : // jabber.server.name/http-bind/ and get “Openfire HTTP Binding Service”. so reweite etc. works as expected. the relevant parts of my jwchat config look like this:

var SITENAME = “jabber.server.name

var DEFAULTRESOURCE = “JABBER”;

var BACKENDS =

[

];

what i get is what every one else gets: Internal Server Error. Disconnected. Reconnect?

sadly neither openfire debuglog nor jwcaht debugging was helpful.

can some one help ?

Also post your relevant http configuration (the proxy bits).

Just missing a slash ("/") can make it not work…

here we go:

AddDefaultCharset UTF-8

RewriteEngine On

ProxyRequests On

    ProxyPass /http-bind/ http://127.0.0.1:8080/

ProxyPassReverse / localhost

frantek wrote:

here we go:

ProxyPass /http-bind/ http://127.0.0.1:8080/

This needs to read

ProxyPass /http-bind/ http://127.0.0.1:8080/http-bind/

this works !! thank you. i’ve been to stupid to do cut&paste

Hi,

I have few questions about the apache config.

What does +Multiviews do? I tried looking in apache docs and it says it guesses the file name if its not supplied. It doesnt make sense to me. Is multiviews essential only for jwchat or for every javascript client?

[ProxyPass|#proxypass]

[P]

[RewriteRule|http://www.igniterealtime.org/mod/mod_rewrite.html#rewriterule]

Do you need to set RewriteEngine On and ProxRequests On? It might open unecessary security hole. A quote from apache docs: "A reverse proxy is activated using the directive or the flag to
the `` directive. It

[ProxyRequests|#proxyrequests]

is not necessary to turn `` on in order to configure a

reverse proxy"

Shouldn`t the reverse proxy direct to the the same url the request came from?

Thanks

What does +Multiviews do?

JWChat is available in multiple languages:

index.html.de

index.html.en

index.html.es

index.html.fr

index.html.html

index.html.it

index.html.nl

index.html.pt_br

index.html.ru

index.html.sk

index.html.vi_VN

index.html.zh_CN

The Multiviews option automatically selects the right index.html, by using the language code that your browser submits. If the right language is not available, index.html.html is taken.

Thanks Coolcat. That explains what multiviews does.

Does anybody have an answer to my other questions:

  • Do you need to set RewriteEngine On and ProxRequests On? It might open
    unecessary security hole. A quote from apache docs: “A reverse proxy is
    activated using the <code>[#proxypass]</code> directive or the
    <code>[P]</code> flag to
    the <code>[RewriteRule|http://www.igniterealtime.org/mod/mod_rewrite.html#rewriterule]
    directive. It
    is not necessary to turn <code>[#proxyrequests]</code> on
    in order to configure a
    reverse proxy”

  • Shouldn`t the reverse proxy direct to the the same url the request came from?

Thanks

in fact, this is sufficient:

AddDefaultCharset UTF-8

ProxyRequests On

    ProxyPass /http-bind/ http://127.0.0.1:8080/http-bind/

dror has a point. It should be something like:

ProxyRequests Off
  ProxyPass /http-bind/ http://127.0.0.1:8080/http-bind/
  <Proxy *>
    Order deny,allow
    Allow from all
  </Proxy>