Difference between revisions of "Guide/Server/de"

From XMPP WIKI
Jump to navigation Jump to search
(Created page with "Zurück Category:Handbuch")
 
Line 1: Line 1:
[[Guide/de|Zurück]]
[[Guide/de|Zurück]]


= TCP / IP =
XMPP verwendet die TCP/IP Ports
* 5222 für eine Client-zu-Server Verbindung (C2S)
* 5269 für eine Server-zu-Server Verbindung (S2S)
https://tools.ietf.org/html/rfc6120#section-14.7
= Domain Name System (DNS) =
Für die verschiedenen Dienste von XMPP werden in der Regel die folgenden Subdomains verwendet. Es folgt eine Übersicht von Subdomain, welche jedoch nicht zwinkend so benannte werden müssen.
* xmpp.domain.tld
* conference.domain.tld oder chat.domain.tld
* pubsub.domain.tld
* proxy.domain.tld
* uploads.domain.tld oder files.domain.tls
'domain.tld' ist durch die eigene Domain zu ersetzen.
== Service record (SRV record) ==
_xmpp-server._tcp.domain.tld. 150 IN    SRV 5 0 5269 xmpp.domain.tld.
_xmpp-client._tcp.domain.tld. 150 IN    SRV 5 0 5222 xmpp.domain.tld.
_xmpps-client._tcp.domain.tld. 113 IN  SRV 0 5 5223 xmpp.domain.tld.
dig SRV _xmpp-server._tcp.domain.tld
dig SRV _xmpp-client._tcp.domain.tld
dig SRV _xmpps-client._tcp.domain.tld
== WebSockets und BOSH (TXT record) ==
_xmppconnect.domain.tld. 86327 IN TXT "_xmpp-client-websocket=wss://domain.tld:443/xmpp-websocket"
_xmppconnect.domain.tld. 86327 IN TXT "_xmpp-client-xbosh=https://domain.tld:433/http-bind"
dig TXT _xmppconnect.domain.tld
* https://tools.ietf.org/html/rfc6120#section-3.2
* https://xmpp.org/extensions/xep-0156.html
* https://de.wikipedia.org/wiki/TXT_Resource_Record
* https://wiki.xmpp.org/web/SRV_Records
* https://prosody.im/doc/dns
* https://tools.ietf.org/html/rfc7395
= Ejabberd =
= Prosody =
Prosody ist ein in Lua geschriebener XMPP Server unter der MIT Lizenz. https://prosody.im
Die Konfigurationsdateien sind in /etc/prosody/
Die Konfiguration aus dem Paket ist mit ein paar wenigen Anpassungen direkt nutzbar. Im folgendem Beispiel werden sehr viele Module und Optionen aufgelistet. Welche Module benötigt werden ist abhängig vom Einsatzgebiet. Es soll nur als Referenzbeispiel dienen.
== BOSH und WebSocket ==
Für BOSH und WebSocket wird ein Web-Server als Proxy verwendet.
a2enmod rewrite proxy proxy_http  # Module für BOSH
a2enmod proxy proxy_wstunnel      # Module für WebSocket
SSLProxyEngine on
<Location /http-bind>
    Order allow,deny
    Allow from all
</Location>
RewriteEngine On
RewriteRule ^/http-bind$ https://domain.tld:5281/http-bind [P,L]
<IfModule mod_proxy.c>
    <IfModule mod_proxy_wstunnel.c>
    ProxyTimeout 900
    <Location "/xmpp-websocket">
        ProxyPreserveHost On
        ProxyPass "wss://domain.tld:5281/xmpp-websocket"
    </Location>
    </IfModule>
</IfModule>
* https://prosody.im/doc/websocket
* https://prosody.im/doc/setting_up_bosh




[[Category:Handbuch]]
[[Category:Handbuch]]

Revision as of 17:58, 28 November 2019

Zurück

TCP / IP

XMPP verwendet die TCP/IP Ports

  • 5222 für eine Client-zu-Server Verbindung (C2S)
  • 5269 für eine Server-zu-Server Verbindung (S2S)

https://tools.ietf.org/html/rfc6120#section-14.7

Domain Name System (DNS)

Für die verschiedenen Dienste von XMPP werden in der Regel die folgenden Subdomains verwendet. Es folgt eine Übersicht von Subdomain, welche jedoch nicht zwinkend so benannte werden müssen.

  • xmpp.domain.tld
  • conference.domain.tld oder chat.domain.tld
  • pubsub.domain.tld
  • proxy.domain.tld
  • uploads.domain.tld oder files.domain.tls

'domain.tld' ist durch die eigene Domain zu ersetzen.

Service record (SRV record)

_xmpp-server._tcp.domain.tld. 150 IN    SRV 5 0 5269 xmpp.domain.tld.
_xmpp-client._tcp.domain.tld. 150 IN    SRV 5 0 5222 xmpp.domain.tld.
_xmpps-client._tcp.domain.tld. 113 IN   SRV 0 5 5223 xmpp.domain.tld.
dig SRV _xmpp-server._tcp.domain.tld
dig SRV _xmpp-client._tcp.domain.tld
dig SRV _xmpps-client._tcp.domain.tld


WebSockets und BOSH (TXT record)

_xmppconnect.domain.tld. 86327 IN	TXT	"_xmpp-client-websocket=wss://domain.tld:443/xmpp-websocket"
_xmppconnect.domain.tld. 86327 IN	TXT	"_xmpp-client-xbosh=https://domain.tld:433/http-bind"
dig TXT _xmppconnect.domain.tld


Ejabberd

Prosody

Prosody ist ein in Lua geschriebener XMPP Server unter der MIT Lizenz. https://prosody.im

Die Konfigurationsdateien sind in /etc/prosody/

Die Konfiguration aus dem Paket ist mit ein paar wenigen Anpassungen direkt nutzbar. Im folgendem Beispiel werden sehr viele Module und Optionen aufgelistet. Welche Module benötigt werden ist abhängig vom Einsatzgebiet. Es soll nur als Referenzbeispiel dienen.

BOSH und WebSocket

Für BOSH und WebSocket wird ein Web-Server als Proxy verwendet.

a2enmod rewrite proxy proxy_http  # Module für BOSH
a2enmod proxy proxy_wstunnel      # Module für WebSocket
SSLProxyEngine on
<Location /http-bind>
   Order allow,deny
   Allow from all
</Location>
RewriteEngine On
RewriteRule ^/http-bind$ https://domain.tld:5281/http-bind [P,L]

<IfModule mod_proxy.c>
    <IfModule mod_proxy_wstunnel.c>
    ProxyTimeout 900
    <Location "/xmpp-websocket">
        ProxyPreserveHost On
        ProxyPass "wss://domain.tld:5281/xmpp-websocket"
    </Location>
    </IfModule>
</IfModule>