Page 1 of 1

REST Client auf RevPi Connect einrichten

Posted: 07 May 2020, 07:26
by Philip R.
Hallo zusammen,

Ich habe einen RevPi Connect und lasse dort einen REST Client laufen.
Nun würde ich gerne über das Netzwerk auf diesen zugreifen.

Ich bekomme jedoch nur die Meldung "Connection Refused".
Lokal auf dem RevPi erhalte ich mit

Code: Select all

curl 127.0.0.1:5000 
den HTML Code der Seite im Terminal.
Über

Code: Select all

curl 192.168.0.10:5000 
bekomme ich auch lokal ein "Connection Refused".

Ich nehme an, dass dies daran liegt, dass nur die beiden standart Ports freigegeben sind.
Leider habe ich es bisher nicht geschafft weitere Ports freizugeben.

Wie kann ich dies auf dem RevPi erreichen?
Oder irre ich mich, was die Ursache angeht?

Vielen Dank schonmal

Re: REST Client auf RevPi Connect einrichten

Posted: 07 May 2020, 08:06
by lukas
Deine Anwendung bindet sich offenbar nur an die Loopback-Adresse, nicht an die Adresse des Ethernet-Interfaces. Das musst du in der Anwendung ändern. Du kannst mit "sudo netstat -nlpA inet" prüfen, welche Anwendungen sich an welche Adresse(n) gebunden haben und auf eingehende Verbindungen lauschen.

Mit einer Port-Freigabe hat das meines Erachtens nichts zu tun. Standardmäßig sind keine netfilter-Regeln konfiguriert, die den Zugriff auf bestimmte Ports oder IP-Adressen beschränken.

Re: REST Client auf RevPi Connect einrichten

Posted: 07 May 2020, 09:17
by Philip R.
Vielen Dank.

Ich werde das überprüfen.

Re: REST Client auf RevPi Connect einrichten

Posted: 14 May 2020, 08:14
by Philip R.
sudo netstat -nlpA inet
Active Internet connections (only servers)
Proto | Recv-Q | Send-Q | Local Address | Foreign Address | State | PID/Program name
tcp | 0 | 0 | 127.0.0.1:5000 | 0.0.0.0:* | LISTEN | 25149/./RESTClient

Ich bin mir unsicher woran man die Loopback Adresse erkennt, aber für mich sieht das erst einmal nicht ungewöhnlich aus, oder irre ich mich?

Re: REST Client auf RevPi Connect einrichten

Posted: 14 May 2020, 08:26
by lukas
Also die Loopback-Adresse ist 127.0.0.1. (Eigentlich der gesamte 127.0.0.0/8 Block bei IPv4.)

Deine Applikation lauscht nur auf dieser Adresse unter Port 5000 auf eingehende Verbindungen, erkennbar an "127.0.0.1:5000" in der "Local Address" Spalte. Wenn ich hier auf einer Linux-Maschine dasselbe Kommando eingebe um zu kontrollieren, auf welche Adresse der ssh Daemon lauscht, sehe ich z.B.:

tcp | 0 | 0 0.0.0.0:22 | 0.0.0.0:* | LISTEN | -

D.h. sshd lauscht auf der Local Adress 0.0.0.0 Port 22, somit alle IP-Adressen, die auf der Maschine konfiguriert sind. Wenn du deiner Applikation beibringst, auf 0.0.0.0 statt 127.0.0.1 zu lauschen, solltest du sie auch über 192.168.0.10 ansprechen können.

Re: REST Client auf RevPi Connect einrichten

Posted: 14 May 2020, 09:08
by Philip R.
Ich konnte mit der Zeile "UseUrls" erreichen, dass der Client auf alle IP Adressen lauscht.

Code: Select all

namespace RESTClient
{
    public class Program
    {
        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                   .UseUrls("http://*:5000")
                   .UseStartup<Startup>();

        public static void Main(string[] args)
        {
            CreateWebHostBuilder(args).Build().Run();
        }
    }
}
Vielen Dank für die Hilfe

Re: REST Client auf RevPi Connect einrichten

Posted: 20 May 2020, 10:22
by dirk
Hi Philip R. vielen Dank für Dein positives Feedback.