Websocket Verbindung zwischen Android Client und Erlang Server?

Hallo,

Nachdem ich vor etwa einem Monat damit begann, meine eigene Handyapp zu entwickeln, um meine Kenntnisse zu festigen, bin ich momentan auf folgenden Stand:

Alte Frage: Kommunikation zwischen App und Webserver? (Computer, App, Server) - gutefrage

Ich kann mich mithilfe des HTTP Protokolls bei der App registrieren und anmelden. Kann Freunde hinzufügen und mit denen einen privaten Chat starten. Jedoch funktioniert alles noch über HTTPS und der Client stellt jede sekunde eine Anfrage an den Server. Nun würde ich gerne eine Websocketverbindung implementieren.

Auf den Server läuft Ubuntu, eine SQL Datenbank und ein Apache Webserver. Serverseitig würde ich gerne den Websocketserver mit Erlang programmieren, da bekannte SocialMedia Konzerne dies ebenfalls nutzen. Ich habe mich reichlich über die Websocketverbindung informiert und weis den Ablauf, jedoch finde ich keine ausreichenden Quellen, wie ich den Client in AndroidStudio/Java umsetzen kann, sodass er auch auf Servernachrichten reagiert. (Bisher habe ich nur zum Websocket hin kommunizieren können und direkte Anworten wahrnehmen können), gleicher Effekt wie mit dem HTTP Protokoll. Manche verwenden die Socketbibliothek, welche aber nur direkte Anworten auffangen kann. Andere verwenden SocketIO, dies habe ich aber nicht zum laufen bekommen.

Welche Bibliotheken sollte ich für meine Anforderungen nutzen und in welche Richtung sollte die Umsetzung erfolgen?

Liebe Grüße

Alex

App, Linux, Java, Android, Webserver
Mehrere Webseiten über ein Login System organisieren?

Ich hab mehrere Webseiten die teils über verschiedene Server verstreut sind und es wäre ziemlich lästig für jede ein eigenes zu machen also hab ich beschlossen sowas ähnliches wie oAuth nur mit PHP zu bauen, am besten so zweckmäßig wie möglich um das ganze zu erleichtern. Kann man das Konzept als fertig bezeichnen oder muss man da noch was dran ändern?

Dass man sich anmelden kann wird man auf die anmeldeseite geleitet, man gibt seine Daten ein und man wird auf die eigentliche Seite zurückgeleitet

um einen Benutzer anzumelden greift der dienst als erstes auf einen langen string zurück nennen wir es mal API Token. dieser wird während der nutzer auf die anmeldeseite geleitet wird mit post übergeben um zum einen sicherzustellen dass die webseite autorisiert dazu ist daten anzufragen und zum anderen dass das login system weiß wohin es den token und den Nutzer nach der anmeldung leiten soll. Dann meldet sich der nutzer auf der loginseite n und der nutzername und das passwort wird validiert etc. danach stellt der authentifizierungsserver das access Token aus, was beim weiterleiten wieder zurückgepostet wird. Dieses access token wird dann beim nutzer als cookie gespeichert und der Dienst der dann die Zeichenkette erhalten hat fragt dann die benötigten daten(nutzername, geburtsdatum etc.) mit curl von autentifizierungsserver ab und somit ist der nutzer angemeldet.

Das heißt ich müsste das script was prüft welchen Benutzername man hat muss mit jedem einzelnen Seitenaufruf erneut mittels dem access token den nutzernamen anfragen, eventell kann man das aber auch über nen session cookie mit nutzername regeln

Also: kann man das umsetzen oder habe ich was vergessen?

Computer, Webseite, programmieren, JavaScript, Datenbank, MySQL, PHP, Webserver
NGINX Reverse Proxy sicher konfigurieren?

Hallo,

ich habe eine grundsätzliche Frage dazu, wie man NGINX sicher als Reverse Proxy einsetzt und leider nicht wirklich was dazu im Netz gefunden.

Mal angenommen auf Server A läuft eine Webapplikation, die auf 10.0.0.1:5000 hört und auf Server B läuft mein NGINX, der auf 10.0.0.2:80/443 hört. Ich möchte also von Server A zu B einen Reverse Proxy machen und die Verbindung soll mit TLS abgesichert sein.

upstream serverA {
    server 10.0.0.1:5000;
}

server {
    server_name example.org;
    listen [::]:443 ssl ipv6only=on;
    listen 443 ssl;
    ssl_certificate /etc/ssl/certs/example.org.crt;
    ssl_certificate_key /etc/ssl/private/example.org.key;

    location / {
        proxy_pass http://serverA;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header X-Nginx-Proxy true;
        proxy_redirect off;
    }

}

... HTTPS redirect

Aber jetzt ist doch nicht der Traffic von Server B also dem NGINX, auf den der Nutzer zugreift zu Server A, der Webapplikation verschlüsselt oder liege ich da falsch? Falls er nicht verschlüsselt ist, wie erreiche ich das? Ist hier eine einfache Firewall Regel auf Server A schon ausreichend? Im Sinne von

ufw allow in from 10.0.0.2 to any port 5000/tcp

Danke für alle Antworten

Server, Computer, Technik, Linux, Sicherheit, IT-Sicherheit, SSL, Technologie, Webserver, nginx, Spiele und Gaming

Meistgelesene Fragen zum Thema Webserver