summaryrefslogtreecommitdiff
path: root/src/XMPP_Error:_404:_Remote_Server_Not_Found.adoc
blob: f5ffff5c8c9cb9030a5e2067c9bcedf10c748cb8 (plain)
    1 XMPP Error: 404: Remote Server Not Found
    2 ========================================
    3 :author: Aaron Ball
    4 :email: nullspoon@iohq.net
    5 
    6 == {doctitle}
    7 
    8 I recently moved myself away from yet another Google service (nothing against
    9 you Google I just like having control over my stuff) and am now running my own
   10 XMPP server. I have a rather interesting situation though. Since I use Google
   11 Apps, I already had Google Talk set up for my domain. This wasn't too bad a
   12 problem since you can just disable that.  The real problem arose when I tried
   13 to create my XMPP server on a server not directly referenced by my DNS A
   14 records. We'll say the server is located at chat.bitnode.net for this example.
   15 
   16 The issue arose that when I configured the server so the users' addresses were
   17 user@bitnode.net instead of user@chat.bitnode.net. When I had the users names
   18 @bitnode.net, I received the error
   19 
   20 ----
   21 404: Remote Server Not Found
   22 ----
   23 
   24 on all of my friend requests. At first, I thought that was because my jabber
   25 server couldn't talk to the Google server where my friend's accounts were
   26 located. Then I realized (unfortunately hours later), that it was an error
   27 being returned by Google's servers because they couldn't find MY server at the
   28 location the usernames indicated (IE: bitnode.net). My guess is this has
   29 something to do with server dialback.
   30 
   31 So, a quick rundown of where we are to make sure we're all on the same page...
   32 An example of a username is jimminy@bitnode.net. The jabber server is located
   33 at chat.bitnode.net. The username indicates that the chat server is located at
   34 bitnode.net, which is not the case.
   35 
   36 Now the problem is pretty obvious. The _404: Remote Server Not Found_ error is
   37 because Google's jabber servers are looking at bitnode.net when the server is
   38 located at chat.bitnode.net.
   39 
   40 Thankfully, the solution is relatively simple to implement, but it does
   41 require access to DNS for your domain. **The solution here is to put a
   42 few DNS SRV records in**. Due to the fact that everyone's setup is
   43 different, I will use the default ports for my SRV strings.
   44 
   45 ----
   46 _xmpp-client._tcp yourdomain.net 5 0 5222 fqdn.to.server.net
   47 _xmpp-server._tcp yourdomain.net 5 0 5269 fqdn.to.server.net
   48 ----
   49 
   50 So what we are saying here (at least my understanding of it is) that if an xmpp
   51 connection (_xmpp-server._tcp) tries to connect to yourdomain.net on port 5269
   52 , the traffic is seamlessly sent to fqdn.to.server.net. Some additional info,
   53 the 5s are priority and the 0s are weight.
   54 
   55 With that, wait fifteen or so minutes for the changes to the master zone to
   56 take effect and give it a try. This _should_ fix the issue with all of the
   57 jabber servers out there, but I have only tried this on ejabberd and OpenFire
   58 so far.
   59 
   60 I hope this helped someone out. Please let me know in the comments if anyone
   61 has any questions.
   62 
   63 Category:DNS Category:XMPP
   64 
   65 
   66 // vim: set syntax=asciidoc:

Generated by cgit