diff options
Diffstat (limited to 'src/XMPP_Error:_404:_Remote_Server_Not_Found.adoc')
-rw-r--r-- | src/XMPP_Error:_404:_Remote_Server_Not_Found.adoc | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/src/XMPP_Error:_404:_Remote_Server_Not_Found.adoc b/src/XMPP_Error:_404:_Remote_Server_Not_Found.adoc new file mode 100644 index 0000000..f5ffff5 --- /dev/null +++ b/src/XMPP_Error:_404:_Remote_Server_Not_Found.adoc @@ -0,0 +1,66 @@ +XMPP Error: 404: Remote Server Not Found +======================================== +:author: Aaron Ball +:email: nullspoon@iohq.net + +== {doctitle} + +I recently moved myself away from yet another Google service (nothing against +you Google I just like having control over my stuff) and am now running my own +XMPP server. I have a rather interesting situation though. Since I use Google +Apps, I already had Google Talk set up for my domain. This wasn't too bad a +problem since you can just disable that. The real problem arose when I tried +to create my XMPP server on a server not directly referenced by my DNS A +records. We'll say the server is located at chat.bitnode.net for this example. + +The issue arose that when I configured the server so the users' addresses were +user@bitnode.net instead of user@chat.bitnode.net. When I had the users names +@bitnode.net, I received the error + +---- +404: Remote Server Not Found +---- + +on all of my friend requests. At first, I thought that was because my jabber +server couldn't talk to the Google server where my friend's accounts were +located. Then I realized (unfortunately hours later), that it was an error +being returned by Google's servers because they couldn't find MY server at the +location the usernames indicated (IE: bitnode.net). My guess is this has +something to do with server dialback. + +So, a quick rundown of where we are to make sure we're all on the same page... +An example of a username is jimminy@bitnode.net. The jabber server is located +at chat.bitnode.net. The username indicates that the chat server is located at +bitnode.net, which is not the case. + +Now the problem is pretty obvious. The _404: Remote Server Not Found_ error is +because Google's jabber servers are looking at bitnode.net when the server is +located at chat.bitnode.net. + +Thankfully, the solution is relatively simple to implement, but it does +require access to DNS for your domain. **The solution here is to put a +few DNS SRV records in**. Due to the fact that everyone's setup is +different, I will use the default ports for my SRV strings. + +---- +_xmpp-client._tcp yourdomain.net 5 0 5222 fqdn.to.server.net +_xmpp-server._tcp yourdomain.net 5 0 5269 fqdn.to.server.net +---- + +So what we are saying here (at least my understanding of it is) that if an xmpp +connection (_xmpp-server._tcp) tries to connect to yourdomain.net on port 5269 +, the traffic is seamlessly sent to fqdn.to.server.net. Some additional info, +the 5s are priority and the 0s are weight. + +With that, wait fifteen or so minutes for the changes to the master zone to +take effect and give it a try. This _should_ fix the issue with all of the +jabber servers out there, but I have only tried this on ejabberd and OpenFire +so far. + +I hope this helped someone out. Please let me know in the comments if anyone +has any questions. + +Category:DNS Category:XMPP + + +// vim: set syntax=asciidoc: |