wubl Posted June 19 Share Posted June 19 Hallo zusammen, ich habe heute die beiden SimpleX Container entdeckt und fand die Idee, einen eigenen Chat-Server zu betreiben phänomenal. Jetzt bin ich gar nicht mehr so begeistert: Den SMP-Server habe ich zum Laufen bekommen, allerdings mit mehr Glück als Verstand. Die Standard Ports habe ich nicht verändert, da "5223" noch frei war und ein Passwort vergeben. Als IP/domain "smp.mydomain.dedyn.io" Nginx Eintrag erstellt mit "smp.mydomain.dedyn.io" und entsprechendes SSL-Zertifikat dazu ausgewählt. Nach Containerinstallation ins Protokoll und die Serveradresse kopiert und aufs Handy geschickt. Server manuell eingetragen und Test --> Fehler -- In der Fritzbox den Port freigegen als TCP 5223 --> Erfolg Ich glaube, der Traffic geht gar nicht über den Nginx, das smp:// wird gar nicht geroutet. Jetzt habe ich ein Problem mit dem XFTP-Server, welcher für die Dateien zuständig sein soll. Dem habe ich xftp.mydomain.dedyn.io zugeordnet. Vermutlich auch umsonst, da der von außen mit xftp:// auf 443 daherkommt und da lauscht der Nginx Container. Gibt es für so einen Fall eine Lösung, die ich mit meinen bescheidenen Kenntnissen umsetzten kann? Vielleicht hat einer von euch in dieser Richtung schon Erfahrungen gesammelt. Oder kann mir eine Alternative vorschlagen? Grüße und herzlichen Dank Wubl Quote Link to comment
Solution alturismo Posted June 21 Solution Share Posted June 21 On 6/19/2024 at 2:19 PM, wubl said: Gibt es für so einen Fall eine Lösung, ja, aber ... wie du festgestellt hast kann nginx das so nicht, nginx reverse proxy ist nur für http/s traffic ausgelegt ... da gehen auch keine gameserver usw usw ... da bleibt nur Ports entsprechend öffnen. On 6/19/2024 at 2:19 PM, wubl said: Vermutlich auch umsonst, da der von außen mit xftp:// auf 443 daherkommt und da lauscht der Nginx Container. wenn du am client das xftps://....:443 nicht umstellen kannst (anderer port) wird es heikel ... ja, es gibt einen Ansatz das mit nginx streamserver zu lösen, ist aber sehr komplex und dafür nicht ausgelegt (geht auch nicht mit allem) schau erstmal lieber nochmals nach ob es nicht die Möglichkeit gibt das am client einzustellen Alternativ, im passenden github anfragen 1 Quote Link to comment
wubl Posted June 21 Author Share Posted June 21 (edited) Danke alturismo für deine Hilfe! Der Tipp, Clientseitig nach Abhilfe zu suchen war super. Ich kam jetzt einen großen Schritt weiter. Erkenntnisse: Subdomains sind überflüssig. Habe jetzt beide Container neu eingerichtet, zuvor unter appdata den Ordner simplex gelöscht, um die config Dateien neu erstellen zu lassen. Dann im Router die Ports 5551 und 5552 freigegeben. Im smp-Server den 5551 zugewiesen und als IP nur mydomain.dedyn.io, Passwort beliebig entsprechend dem xftp-Server die 5552 und mydomain.dedyn.io aus den Logs die Serveradressen rauskopiert und in der Android app unter manuellem Server eingefügt und jeweils um ":5551" und ":5552 " ergänzt Jetzt läuft alles, allerdings sind die beiden Ports offen. Zwei Fragen habe ich allerdings noch: In der Android App gibt es unter Netzwerk & Server die Möglichkeit "SOCKS-Proxy nutzen (Port 9050) mit dem Hinweis "Zugriff auf die Server über SOCKS-Proxy auf Port 9050? Der Proxy muss gestartet werden, bevor diese Option aktiviert wird. Was hat das zu bedeuten? Edit: bedeutet, dass man das Tor Netzwerk zwischen Client und Server schaltet, was ich nicht brauche Könnte ich mit dem Container swag den Traffic routen? Dazu müsste ich vermutlich von Nginx dorthin wechseln... Edited June 21 by wubl Quote Link to comment
alturismo Posted June 21 Share Posted June 21 40 minutes ago, wubl said: Was hat das zu bedeuten? Das wenn du noch zusätzlich einen socks proxy dazwischen schalten willst ... das einzurichten wäre 41 minutes ago, wubl said: Könnte ich mit dem Container swag den Traffic routen? Swag nutzt auch nginx, gleiches Spiel, nur wenn dann überhaupt bei swag order nginx nativ, npm ist die click Variante 😉 aber bei der Fragestellung ... lass es, ist wirklich komplex und geht nur bei diversen Szenarien. Quote Link to comment
wubl Posted June 21 Author Share Posted June 21 Werde deinen Rat befolgen. Danke nochmals und schönes Wochenende. Falls sich das kleine Projekt nach einer mehrtägigen Testphase bewährt hat, schreibe ich ein kleines Howto oder Erfahrungsbericht 1 Quote Link to comment
alturismo Posted June 21 Share Posted June 21 7 minutes ago, wubl said: Werde deinen Rat befolgen. gerne, und ist hoffentlich nicht falsch angekommen, aber das Thema stream server (so nennt sich das in nginx) in Kombination mit dem Reverse Proxy ist nicht ohne, der stream Server muss davor geschaltet werden, mit speziellen SSL Abfragen das ganze filtern um dann sauber zu routen, sprich, was ist TCP / UDP traffic, dann an die richtigen endpoints weiter ja nach Adressierung, was ist HTTP/S und dann weiter an den Reverse Proxy, hebelt auch großteils dann die Absender IP aus (forword X-IP geht nicht mehr usw usw), sprich kommt alles von localhost auf einmal an die HTTP enpoints bzw an die TCP / UDP endpoints ... kurz, hab mich damit auseinander gesetzt weil ich darüber RDP Rechner hinter dem stream Server auf port 80/443 erreichen wollte, oder SSH (das hat geklappt), oder ... war aber am Ende nicht trivial und birgt mehr Probleme als Lösungen ... daher dann Umstieg auf Alternativen Viel Erfolg bei deinem SimpleX Projekt 👍 Quote Link to comment
wubl Posted June 21 Author Share Posted June 21 Nein, nein, überhaupt nicht falsch angekommen. Es darf nicht zu komplex werden, möchte es ja selbst betreuen und verstehen. Deshalb bin ich für jeden gut gemeinten Tipp dankbar und du hast dir ja extra Mühe gegeben, es zu erklären. Danke dafür. Quote Link to comment
HanSolo97 Posted June 26 Share Posted June 26 (edited) Hi @wubl. Die Unraid-Templates für Simplex habe ich erstellt, Fragen beantworte ich gerne soweit möglich. Schau mal hier, die Lösung heißt, Docker Network + Nginx Proxy Manager mit TCP Stream. https://codeberg.org/HanSolo97/unraid-templates/issues/7#issuecomment-2040207 Richtige Anleitung kommt aber noch auf Coderberg, bin nur noch nicht dazu gekommen. Edited June 26 by HanSolo97 Quote Link to comment
alturismo Posted June 26 Share Posted June 26 15 minutes ago, HanSolo97 said: Schau mal hier, die Lösung heißt, Docker Network + Nginx Proxy Manager mit TCP Stream. nicht wirklich ... das ist der Standard stream und damit machst du nichts anderes als eine Ebene zwischen offenem port und streamx macht ... aber nicht per dns unter port 443 aufzurufen ist ... Quote Link to comment
HanSolo97 Posted June 26 Share Posted June 26 Das Problem ist ja dass das SMP Protokoll auf 5223 anfragt. Da kommen wir mit 443 glaube ich nicht weit, oder? smp://myserver:443 funktioniert bestimmt nicht, oder? Quote Link to comment
alturismo Posted June 26 Share Posted June 26 2 minutes ago, HanSolo97 said: smp://myserver:443 funktioniert bestimmt nicht, oder? ich hab es oben beschrieben, es gibt einen (sehr komplexen) Weg ... ja, der stream Server wird dafür "missbraucht", aber nicht in der base Konfiguration was mehr oder weniger nur ein port forwarding darstellt ... sprich, das ist in der Form witzlos ... macht Sinn wenn ich immer einen Server dazwischen stellen will, aber hat nichts mit SSL routing zu tun. wenn du Dir das mal geben willst, tcp udp traffic mit ssl pre read um alles über 80/443 zu routen. Starte hier um die Base zu verstehen https://nginx.org/en/docs/stream/ngx_stream_ssl_preread_module.html dann mal eine server fault Diskussion https://serverfault.com/questions/1049158/nginx-how-to-combine-ssl-preread-protocol-with-ssl-preread-server-name-ssh-mul und hier dann advanced mit Beispielen ... https://gist.github.com/kekru/c09dbab5e78bf76402966b13fa72b9d2 viel Spaß dabei Quote Link to comment
HanSolo97 Posted June 26 Share Posted June 26 Ui ok, das sieht aufwändig aus, schau ich mir aber gerne an sobald ich Zeit hab, und versuche dann ne kleine Doku für SimpleX daraus zu machen. Quote Link to comment
alturismo Posted June 26 Share Posted June 26 16 minutes ago, HanSolo97 said: Ui ok, das sieht aufwändig aus, schau ich mir aber gerne an sobald ich Zeit hab, und versuche dann ne kleine Doku für SimpleX daraus zu machen. lies dich richtig ein, es geht auch nicht mit allen TCP/UDP Diensten ... clients müssen auch gewisse headers mitliefern, ansonsten failed das immer und es geht einfach technisch nicht, keine Zuordnung, kein routing, fertig, nur als Info ... Quote Link to comment
alturismo Posted June 26 Share Posted June 26 Nachtrag, und falls du deine Dienste mit geoip, 2fa, ... abgesichert hast, wird das ggf. auch kritisch, weil dann auch meist localhost mitgeliefert wird, ist halt TCP und kein HTTP wo forward x-ip und co mitlaufen, auch das beachten wegen Sicherheitsthemen, viele lokale Dienste bieten ja auch lokal ohne auth dann, hinter so einem Konstrukt sind alle Verbindungen dann lokal, auch hier einlesen, verstehen, bedenken ob das ok und gewollt ist ... Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.