« Configuration des ports de prosody » : différence entre les versions
(Page créée avec « {{Tutoriels_serveur|prosody}} __TOC__ Ces paramètres affectent la globalité du serveur, de ce fait ces derniers doivent être définis dans la section globale du fichi... ») |
|||
(5 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 22 : | Ligne 22 : | ||
'''legacy_ssl_interface''' - Interface d'écoute pour les connexions SSL d'anciens systèmes. Par défaut “0.0.0.0” | '''legacy_ssl_interface''' - Interface d'écoute pour les connexions SSL d'anciens systèmes. Par défaut “0.0.0.0” | ||
== Port 443 partagé == | |||
Pour contourner certains pare-feu, il peut être nécessaire d'avoir un serveur XMPP écoutant sur le port 443. | |||
S'il n'y a pas serveur web sur le même serveur, il suffit d'indiquer à Prosody d'écouter sur le port 443 (cf ci-dessus). Si non, la configuration suivante est nécessaire, en supposant l'utilisation de nginx comme serveur web : | |||
=== Configuration de nginx === | |||
Sur Debian, installer le paquet '''libnginx-mod-stream'''. | |||
Dans <code>/etc/nginx/nginx.conf</code> : | |||
* s'assurer de la présence en début de fichier de <code>include /etc/nginx/modules-enabled/*.conf;</code> | |||
* ajouter en fin de fichier : | |||
stream { | |||
upstream httpserver { | |||
server localhost:8443; # webserver_host:webserver_port | |||
} | |||
upstream xmppserver { | |||
server localhost:5223; # xmpp_server_host:xmpp_over_tls_port | |||
} | |||
map $ssl_preread_alpn_protocols $upstream { | |||
default httpserver; | |||
"xmpp-client" xmppserver; | |||
} | |||
server { | |||
listen 443; | |||
ssl_preread on; | |||
proxy_pass $upstream; | |||
} | |||
} | |||
* tous les domaines/vhost nginx (dans <code>/etc/nginx/sites-available/</code>) qui écoutaient sur le port 443 doivent être modifiés pour écouter désormais sur le port 8443 : | |||
listen 8443; | |||
listen [::]:8443; | |||
=== Configuration de Prosody === | |||
Dans <code>/etc/prosody/prosody.cfg.lua</code> ajouter <code>legacy_ssl_ports = 5223</code>. | |||
=== Configuration des DNS === | |||
_xmpps-client._tcp.xmpp.domain.tld. 86400 IN SRV 5 0 443 xmpp.domain.tld. | |||
_xmpp-client._tcp.xmpp.domain.tld. 86400 IN SRV 10 0 443 xmpp.domain.tld. | |||
_xmpp-client._tcp.xmpp.domain.tld. 86400 IN SRV 15 0 5222 xmpp.domain.tld. | |||
'''Remarque''' : le support de la [[XEP-0368]] est acquis dès lors que l'enregistrement SRV _xmpps-client est ajouté, peu importe le port sur lequel écoute le serveur (généralement 5223). Selon https://compliance.conversations.im/test/xep0368/ , en février 2024, prêt de la moitié des serveurs publics connus (470/1037) supportent cette XEP, mais très peu (54/470) proposent le port 443. | |||
== Sources et docs alternatives == | |||
https://wiki.xmpp.org/web/Tech_pages/XEP-0368 | |||
https://uwot.eu/nginx-and-xmpp-over-tls/ | |||
https://blog.polynom.me/running-prosody-traefik/ |
Dernière version du 19 février 2024 à 18:02
Ces paramètres affectent la globalité du serveur, de ce fait ces derniers doivent être définis dans la section globale du fichier de configuration.
Standard
c2s_ports - Port d'écoute pour les connexions client-to-server. Par défaut { 5222 }
c2s_interface - Interface d'écoute pour les connexions client-to-server. Par défaut “0.0.0.0”
c2s_timeout - Timeout pour les connexions client-to-server non authentifiées. Off par défaut, pas de timeout.
s2s_ports - Port d'écoute pour les connexions server-to-server. Par défaut { 5269 }
s2s_interface - Interface d'écoute pour les connexions server-to-server. Par défaut “0.0.0.0”
s2s_timeout - Timeout pour les connexions server-to-server non authnetifiées. Par défaut 60 secondes.
legacy_ssl_ports - Port d'écoute pour les connexions SSL d'anciens systèmes. Par défaut {} (liste vide soit aucun).
legacy_ssl_interface - Interface d'écoute pour les connexions SSL d'anciens systèmes. Par défaut “0.0.0.0”
Port 443 partagé
Pour contourner certains pare-feu, il peut être nécessaire d'avoir un serveur XMPP écoutant sur le port 443. S'il n'y a pas serveur web sur le même serveur, il suffit d'indiquer à Prosody d'écouter sur le port 443 (cf ci-dessus). Si non, la configuration suivante est nécessaire, en supposant l'utilisation de nginx comme serveur web :
Configuration de nginx
Sur Debian, installer le paquet libnginx-mod-stream.
Dans /etc/nginx/nginx.conf
:
- s'assurer de la présence en début de fichier de
include /etc/nginx/modules-enabled/*.conf;
- ajouter en fin de fichier :
stream { upstream httpserver { server localhost:8443; # webserver_host:webserver_port } upstream xmppserver { server localhost:5223; # xmpp_server_host:xmpp_over_tls_port } map $ssl_preread_alpn_protocols $upstream { default httpserver; "xmpp-client" xmppserver; } server { listen 443; ssl_preread on; proxy_pass $upstream; } }
- tous les domaines/vhost nginx (dans
/etc/nginx/sites-available/
) qui écoutaient sur le port 443 doivent être modifiés pour écouter désormais sur le port 8443 :
listen 8443; listen [::]:8443;
Configuration de Prosody
Dans /etc/prosody/prosody.cfg.lua
ajouter legacy_ssl_ports = 5223
.
Configuration des DNS
_xmpps-client._tcp.xmpp.domain.tld. 86400 IN SRV 5 0 443 xmpp.domain.tld. _xmpp-client._tcp.xmpp.domain.tld. 86400 IN SRV 10 0 443 xmpp.domain.tld. _xmpp-client._tcp.xmpp.domain.tld. 86400 IN SRV 15 0 5222 xmpp.domain.tld.
Remarque : le support de la XEP-0368 est acquis dès lors que l'enregistrement SRV _xmpps-client est ajouté, peu importe le port sur lequel écoute le serveur (généralement 5223). Selon https://compliance.conversations.im/test/xep0368/ , en février 2024, prêt de la moitié des serveurs publics connus (470/1037) supportent cette XEP, mais très peu (54/470) proposent le port 443.
Sources et docs alternatives
https://wiki.xmpp.org/web/Tech_pages/XEP-0368