XMPP - host-unknown - fail to connect AWS Ubuntu Openfire from Windows Spark

Description:

I setup openfire on AWS Ubuntu. And I installed Spark on Windows, and tried to login with the username/password, which were created on Openfire. However, I failed to connect the server from Spark.

“ec2-…compute.amazonaws.com” is my AWS server’s ipv4 public DNS. I can access my server through internet from Windows browser, by entering “ec2-…compute.amazonaws.com:7070”.

AWS Security Group

Openfire setup:

XMPP Domain Name: ec2-..compute.amazonaws.com

User:

usrname: test // password: pwd // email: test@ec2-..compute.amazonaws.com

Spark:

usrname: test // password: pwd // domain: ec2-..compute.amazonaws.com

Windows:

I have open port 5280 and 7070 for firework.

What is the Error:

However, I am still unable to connect to openfire. It shows host-unknown, saying that “This server does not serve ec2*.*.compute.amazonaws.com”. Here are more details:

May 09, 2017 12:46:24 PM org.jivesoftware.smack.AbstractXMPPConnection callConnectionClosedOnErrorListener WARNING: Connection closed with error org.jivesoftware.smack.XMPPException$StreamErrorException: host-unknown You can read more about the meaning of this stream error at http://xmpp.org/rfcs/rfc6120.html#streams-error-conditions This server does not serve ec2*.*.compute.amazonaws.com

Anything Missing:

Do I need to add more ports on Windows firewall?

Do I need to setup anything for TLS/SSL certificates on Openfire?

Thank you !!

You don’t need to open ports on Windows. Host-unknown probably means that the url you provide is not resolvable by any DNS. i’m not familiar with AWS, but does the URL their generate is automatically knwon to the world (DNS)? If you server the app on aws node, can you access it on this address, or is this some internal addressing only and you still have to have a real domain name tied to it? Btw, if you want to connect to Openfire’s admin console, you need to open 9090/9091 port on the server.

Thank you for your reply. I opened 9090 and 9091 on AWS, it didn’t work either.

“ec2-..compute.amazonaws.com” is ipv4 public DNS. I can ping it from my Windows terminal(cmd.exe) after I open “All ICMP-ipv4” on aws. But I cannot access this DNS from my Windows browser.

What error does it show when trying to access it in the browser?

It shows:

*This site cannot too reach. ec2…awsamazon.com takes too long to response. *

Do I need to config anything to make it access by http?

Or I need to get a domain name and point it to my server?

That’s a question for AWS experts/support. I think Openfire on this site is running on AWS. You may try asking in the group chat here (link in the menu above).

I just found it I can access it from Windows browser by adding :7070 behind the DNS, “ec2-..compute.amazonaws.com:7070”. I didn’t change anything. Therefore, I think I config something incorrectly on Spark?

No, the Spark config looks right.

Hello wroot,

I set “ip-172---*.us-east-2.compute.internal” as fqdn on Openfire setup page, which is shown by running “hostname --fqdn” on my aws ubuntu terminal. But on Openfire server information page, it tells me:

 DNS configuration appears to be missing or incorrect.

Click on it, it shows:

No DNS SRV records for this host are found.

Do you know how to fix it? Thank you.

I never had to setup SRV records myself as this is not always needed. Especially as my server is internal only. This message is only informational. Read this for some insights Configuring DNS for instant messaging

I install Spark on my aws server. If I fill the domain with “127.0.0.1”, I receive host-unknown packet saying “This server does not serve 127.0.0.1”.

If I fill the domain with “localhost”, it pops up “invalid username or password”, and I receive this packet:

<?xml version='1.0'?>SCRAM-SHA-1DIGEST-MD5

Why it is different for localhost and 127.0.0.1. Besides, I am sure I entered correct username/password, which is aaaa/aaaa. Is there anything I missed to config?

Well, i don’t know what to tell more. I’ve told the the basics, you have to use domain name to login for all xmpp features to work correctly. For me it logs in using local IP or localhost on Windows. Maybe that’s some difference with Ubuntu or AWS.

You can also check what authentication mechanisms are turned on in Server Settings > Registration and Login. E.g. my test server has this (Windows):