Hi Peter,
Without knowing the details of your setup, I couldn't comment on
what's wrong there. Though I recently encountered FF problem with
Strophe specifically too. It has to do with the new cross-site
security feature put into FF 3.5, for the so-called pre-flighted
requests.
I have a nginx/ejabberd/Strophe stack. The echobot works without
problem on all browsers (FF, IE, Chrome) standalone, i.e just
echobot.html. Then I modified it slightly, and integrated the html in
a Ruby on Rails project. The almost identical echobot html is now
returned as the response to an Rails action method.
In the standalone mode, Strophe sends a POST to the proxied BOSH
endpoint for each request, everybody is happy. In the RoR mode,
somehow FF 3.5 and Chrome determine that the Strophe request is
preflighted, and so a HTTP OPTIONS method is used first. The response
from nginx/ejabberd is HTTP 400. The response headers aren't clear
about where that 400 happens, but I bet it's probably because ejabberd
doesn't understand HTTP OPTIONS, and nginx just being a middleman
passing the response back. IE8 keeps sending POST in my RoR mode, so
the echobot continue to work.
Try using WireShark to watch the packets in your case, then you can
find out if we're talking about the same problem. I couldn't find any
good solution yet. Theoretically I probably could create a nginx
module to intercept the HTTP OPTIONS request to the BOSH endpoint, and
return the needed response to make FF happy, though it's another can
of worms there.
I know it's not too helpful but that's all I know so far. Good luck!
Br,
james