Nun, ich habe eine Reihe von Dingen gemacht und jetzt funktioniert es. Es ist einer dieser Fälle, in denen ich nicht weiß, welche es behoben haben, aber zum Wohle anderer habe ich Folgendes getan:
- Hinzufügen von SRV-Einträgen zu meinem DNS
In der Admin-Webkonsole von OpenFire wurde unter Server | keine Warnung angezeigt Server Manager | Serverinformationen: "Es wurden keine DNS-SRV-Einträge für diesen Host gefunden." Darunter befanden sich viele nützliche Informationen über XMPPs Bedarf an SRV-Datensätzen, von denen ich noch nie zuvor gehört hatte. Kurz gesagt, es handelt sich um einen Mechanismus zum Weiterleiten von Datenverkehr von einer Domäne zu einer anderen, den XMPP manchmal benötigt (wenn sich DNS- und XMPP-Server anscheinend nicht auf demselben Server befinden). Beachten Sie Folgendes: Stellen Sie sicher, dass das Format des SRV-Datensatzes korrekt ist, da es nicht offensichtlich ist. Mit Netfirms als Domain- und DNS-Anbieter musste ich mich an den technischen Support wenden, um die SRV-Einträge hinzuzufügen, da es in Netfirms keine Möglichkeit gibt, sie zu verwalten.
- Auf allen XMPP-Clients habe ich die Kontoinformationen geändert.
Insbesondere habe ich für die Benutzernameninformationen anstelle von xmpp.mydomain.com mydomain.com verwendet. Für den Benutzernamen joe.blow habe ich beispielsweise joe.blow@mydomain.com anstelle von joe.blow@xmpp.mydomain.com eingegeben. Es war nicht meine Präferenz, aber ich vermute, dass es das ist, was es funktioniert hat.
Bis zum heutigen Tag bin ich immer noch verwirrt über die gesamten XMPP-Servereigenschaften: XMPP Domain Name
gegen Server Host Name (FQDN)
. Warum braucht es beides? Warum kann es nicht einfach den vollqualifizierten Domänennamen verwenden?
Ich weiß, hier geht es nicht um die Frage, aber ...
Noch ein OpenFire-Tipp für den Fall, dass jemand Probleme hat, als hätte ich einen sicheren Zugang zu Ihrem Admin-Webportal erhalten. Wenn Sie Let's Encrypt für Ihre Zertifikate verwenden und das Glück haben, Apache auch auf demselben Server auszuführen, müssen Sie OF nicht dazu bringen, das xmpp.mydomain.com-Zertifikat zu akzeptieren, damit Sie über auf Ihr Administratorportal zugreifen können https://xmpp.mydomain.com können Sie Apache stattdessen als Reverse-Proxy verwenden. Es ist viel einfacher, einen Apache-Webserver mit einem Let's Encrypt-Zertifikat aufzubauen und automatisch zu erneuern - zumindest habe ich das gefunden.
Ihre Apache-Conf-Datei könnte folgendermaßen aussehen (einschließlich einer Umleitung von http zu https):
<IfModule mod_ssl.c>
<IfModule mod_proxy.c>
<VirtualHost *:443>
ServerName xmpp.mydomain.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/xmpp
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/xmpp.mydomain.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/xmpp.mydomain.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateChainFile /etc/letsencrypt/live/xmpp.mydomain.com/chain.pem
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:9090/
ProxyPassReverse / http://127.0.0.1:9090/
</VirtualHost>
</IfModule>
</IfModule>
<VirtualHost *:80>
ServerName xmpp.mydomain.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/xmpp
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https: //%{HTTP_HOST}%{REQUEST_URI} [R,L]
</VirtualHost>
https:
.