ejabberd XEP-0363 via Reverse Proxy
Anfangs habe ich mod_http_upload (HTTP File Upload, XEP-0363) stets via Port 5443 genutzt. Das klappt auch, ist jedoch suboptimal (z.B. wenn ein Proxy im Netz läuft, der Traffic filtert oder dieser Port schlichtweg nicht erlaubt ist…), und zudem muss ein weiterer Port nach aussen geöffnet werden.
Irgendwann (warum eigentlich nicht gleich auf Anhieb ?!) kam mir aber die Idee, das ganze durch einen Apache Reverse Proxy rattern zu lassen. Und das lässt ejabberd auch tadellos mit sich “machen”. In ejabberd hab ich nicht viel verändert, ausser, dass es dort kein TLS mit Zertifikat mehr braucht und der URL natürlich entsprechend korrigiert werden muss:
listen: [...] - port: 5443 module: ejabberd_http request_handlers: "upload": mod_http_upload #XEP-0363 HTTP File Upload mod_http_upload: name: "HTTP File Upload" docroot: "/opt/ejabberd/upload" put_url: "https://mail.domain.tld/upload" get_url: "https://mail.domain.tld/upload" file_mode: "0640" dir_mode: "2750" max_size: 104857600 # 100 MB access: local thumbnail: false # otherwise needs the identify command from ImageMagick installed mod_http_upload_quota: max_days: 60
Und dann habe ich einfach (bei einer bestehenden Config, bei mir war’s vom Webmail – ejabberd läuft auf demselben Server) einen stinknormalen Reverse-Proxy Eintrag dazu erstellt
ProxyPass /upload http://127.0.0.1:5443/upload ProxyPassReverse /upload http://127.0.0.1:5443/upload
Und voila – kein zusätzliches Zertifikat und kein weiterer Port nach aussen nötig. Last but not least – keine Probleme mit anderen Firewalls oder Proxies mehr !
1 thought on “ejabberd XEP-0363 via Reverse Proxy”
ejabberd XEP-0363 via Reverse Proxy http://blog.datentraeger.li/?p=2246
Comments are closed.