Warum kommen bei OpenFire die Autorisierungsanfragen von Buddies nicht durch?

1

Unter Ubuntu 16.04 (DigitalOcean) habe ich OpenFire 4.2.1 installiert. Bisher habe ich noch kein SSL eingerichtet, aber ich konnte:

  1. Stellen Sie von zu Hause aus eine Verbindung zur Webadministrationskonsole her
  2. Erstellen Sie einige Benutzer
  3. Verwenden Sie den Miranda IM-Windows-Client und den Pidgin-Windows-Client, um eine Verbindung zum Server herzustellen und den Status "online" zu erhalten
  4. Finde andere Benutzer und füge sie meiner Kontakt- / Buddy-Liste hinzu

Ich kann keine Autorisierungsanfragen zwischen Benutzern empfangen.

Ich rannte:

tcpdump -n -i eth0 'tcp and (port 5222 or port 5269 or port 5280)'

Dann habe ich eine "Erneutes Anfordern der Autorisierung" -Anforderung von einem Freund an einen anderen gesendet und diese Ausgabe erhalten:

23:09:12.295932 IP {IP-of-server}.5222 > {IP-of-requester}.56898: Flags [.], ack 158, win 191, length 0
23:09:12.358987 IP {IP-of-server}.5222 > {IP-of-requester}.56898: Flags [P.], seq 241:481, ack 158, win 191, length 240
23:09:12.492207 IP {IP-of-requester}.56898 > {IP-of-server}.5222: Flags [.], ack 481, win 255, length 0

Es sieht also so aus, als ob der Server die Autorisierungsanfrage erhält, ja? Gibt es einen nächsten Schritt, um das Problem zu diagnostizieren? Vermisse ich etwas Einfaches?

Mein Server ist nicht stark betroffen, daher habe ich das Risiko eingegangen, die Firewall kurz deaktiviert und erneut versucht, die Autorisierungsanforderung zu senden, aber der Empfänger hat anscheinend nicht geantwortet.

Lassen Sie mich wissen, wenn ich wichtige Informationen auslasse, die Ihnen helfen, mir zu helfen.

Craig Silver
quelle

Antworten:

0

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:

  1. 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.

  1. 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 [email protected] anstelle von [email protected] 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>
Craig Silver
quelle
HINWEIS: Die Site würde meine RewriteRule nicht akzeptieren auf dem gelände wurde als verkürzter link erkannt Also habe ich nachher ein Leerzeichen in die RewriteRule eingefügt https:.
Craig Silver