Linux & Docker

Probleme mit eurem System/Spiel... SI Support Area.

Moderatoren: Garfield, Alith Anar

Antworten
Benutzeravatar
HansFaste
Rang 5
Beiträge: 94
Registriert: Di 03.07.2012, 12:20
Hat sich bedankt: 258 Mal
Danksagung erhalten: 13 Mal
Großkreuz des Veteranenorden

Linux & Docker

Beitrag von HansFaste »

Hallo werte Regenschaft,

hat einer der hier anwesenden Regent Ahnung von Docker auf einem Linux Ubuntu 18.04?

Zum Hintergrund:
Wir wollen / müssen eine Alexa Skill inHouse hosten. Der Skill kommt vom Dienstleister und muss auf Docker laufen. Die Docker Container laufen auch soweit, jedoch klappt der Aufruf des Skills nur mit http, aber nicht mit https.
Ich hab auf dem selben System nen Apache aufgesetzt, die Index Seite vom Apache lässt sich per https aufrufen.
Evtl. hat einer der Regenten ja einen hilfreichen Tipp.
Benutzeravatar
Garfield
Rang 19
Beiträge: 10327
Registriert: So 05.08.2007, 18:38
Hat sich bedankt: 1036 Mal
Danksagung erhalten: 3121 Mal
SI-VerdienstordenGroßkreuz des VeteranenordenVictoriakreuz+14

Beitrag von Garfield »

Heißt "auf dem selben System" im selben Docker Container?

Wir sind zwar Entwickler, aber kein Docker Spezialist.

Ist das ein frei verfügbares Docker Image oder gibt das euer Dienstleister nur kommerziell raus?
If it looks like a duck, swims like a duck, and quacks like a duck,
then it probably is a duck.
Benutzeravatar
HansFaste
Rang 5
Beiträge: 94
Registriert: Di 03.07.2012, 12:20
Hat sich bedankt: 258 Mal
Danksagung erhalten: 13 Mal
Großkreuz des Veteranenorden

Beitrag von HansFaste »

Der Apache läuft auf dem gleichen Linux Host, nicht im Docker Container.
Das Docker Image kommt vom Dienstleister, liegt aber in unserem private Repository
Benutzeravatar
Garfield
Rang 19
Beiträge: 10327
Registriert: So 05.08.2007, 18:38
Hat sich bedankt: 1036 Mal
Danksagung erhalten: 3121 Mal
SI-VerdienstordenGroßkreuz des VeteranenordenVictoriakreuz+14

Beitrag von Garfield »

Ähhhhh https: na klar!

Das Zertifikat kann doch gar nicht von der Alexa akzeptiert werden oder? Beim Apache musstet ihr doch locker ne Zertifikatswarnung wegklicken weil das nen self-signed Zertifikat war oder?

Nachtrag: Es wäre meine Annahme dass eine Alexa nicht einfach blind jedes Zertifikat für ne HTTPS Verbindung akzeptiert sondern nur was bei der Alexa selbst mit einem vertrauten Zertifikat abgesichert ist.
If it looks like a duck, swims like a duck, and quacks like a duck,
then it probably is a duck.
Benutzeravatar
JoeMill
Rang 14
Beiträge: 2255
Registriert: Sa 25.09.2004, 12:00
Hat sich bedankt: 650 Mal
Danksagung erhalten: 810 Mal
SI-VerdienstordenGroßkreuz des Veteranenorden in bes. Ausführung

Beitrag von JoeMill »

Wie startet Ihr denn den Container per docker-compose oder "einfach" nur per docker run?

Und ist der https-Port vom Container denn überhaupt gepublisht? Sowas ala "docker run -p 8443:443" (damit der Port 443 aus dem Container auf Port 8443 des Host erreichbar ist?)
Wer lesen kann, ist klar im Vorteil.
Benutzeravatar
HansFaste
Rang 5
Beiträge: 94
Registriert: Di 03.07.2012, 12:20
Hat sich bedankt: 258 Mal
Danksagung erhalten: 13 Mal
Großkreuz des Veteranenorden

Beitrag von HansFaste »

@Garfield Das Zertifikat ist nen Wildcard Zertifikat. Wie das mit den Zertifikaten im Container selbst bzw. in der Alexa abläuft kann ich, stand jetzt, nicht beurteilen.

@JoeMill Die Container (Applikation + DB) werden über Compose gestartet. Die Kommunikation mit der Applikation läuft über Port 1245, in der Compose Datei steht demnach: Ports: - "1245:1245"
Würde es dann Sinn machen den Port 1245 auf 443 erreichbar zu machen? Also "443:1245"?
Benutzeravatar
Garfield
Rang 19
Beiträge: 10327
Registriert: So 05.08.2007, 18:38
Hat sich bedankt: 1036 Mal
Danksagung erhalten: 3121 Mal
SI-VerdienstordenGroßkreuz des VeteranenordenVictoriakreuz+14

Beitrag von Garfield »

Wie ist das denn mit dem HTTP Port geregelt, wo liegt der denn?

Und was genau läuft über Port 1245? Kommunikation der Applikation mit was?
If it looks like a duck, swims like a duck, and quacks like a duck,
then it probably is a duck.
Benutzeravatar
HansFaste
Rang 5
Beiträge: 94
Registriert: Di 03.07.2012, 12:20
Hat sich bedankt: 258 Mal
Danksagung erhalten: 13 Mal
Großkreuz des Veteranenorden

Beitrag von HansFaste »

Warum die Abfrage über HTTP läuft ist mir auch ein wenig schleierhaft. Die Abfrage von intern sowie von extern über HTTP laufen und die Abfragen über HTTPS nicht, egal ob intern oder extern.
Die Applikation im Docker Container wird über Port 1245 angesprochen.
Benutzeravatar
JoeMill
Rang 14
Beiträge: 2255
Registriert: Sa 25.09.2004, 12:00
Hat sich bedankt: 650 Mal
Danksagung erhalten: 810 Mal
SI-VerdienstordenGroßkreuz des Veteranenorden in bes. Ausführung

Beitrag von JoeMill »

Kommt halt drauf ob auf dem Port 1245 überhaupt SSL/TLS gesprochen wird. Wenn da nur http ohne SSL/TLS dahinter liegt bringt das ja nichts. Jedenfalls in der docker-compose.yml ist die Angabe "<host_port>:<container_port>", die Container untereinander sprechen über den Container-Port und vom Host aus, erreicht man den Dienst über den Host-Port.

Zur Not halt einen Reverse-Proxy (nginx, apache, haproxy, etc.) auf dem HOST aufsetzen der die Anfragen an https://<host>:443 an http://<host>:1245 durchschleift.


Was spuckt denn zum Beispiel curl aus, wenn man per "curl -vvv https://<host>:1245" eine Abfrage startet?
Wer lesen kann, ist klar im Vorteil.
Benutzeravatar
HansFaste
Rang 5
Beiträge: 94
Registriert: Di 03.07.2012, 12:20
Hat sich bedankt: 258 Mal
Danksagung erhalten: 13 Mal
Großkreuz des Veteranenorden

Beitrag von HansFaste »

Das kommt bei ner Curl Abfrage direkt vom Host:
curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number
Benutzeravatar
JoeMill
Rang 14
Beiträge: 2255
Registriert: Sa 25.09.2004, 12:00
Hat sich bedankt: 650 Mal
Danksagung erhalten: 810 Mal
SI-VerdienstordenGroßkreuz des Veteranenorden in bes. Ausführung

Beitrag von JoeMill »

Klingt so als ob der Server im Container kein SSL spricht. Wenn man das nicht konfigurieren kann, dann hilft nur der Reverse Proxy auf dem Host-Rechner.
Wer lesen kann, ist klar im Vorteil.
Benutzeravatar
Garfield
Rang 19
Beiträge: 10327
Registriert: So 05.08.2007, 18:38
Hat sich bedankt: 1036 Mal
Danksagung erhalten: 3121 Mal
SI-VerdienstordenGroßkreuz des VeteranenordenVictoriakreuz+14

Beitrag von Garfield »

JoeMill hat geschrieben:Klingt so als ob der Server im Container kein SSL spricht. Wenn man das nicht konfigurieren kann, dann hilft nur der Reverse Proxy auf dem Host-Rechner.
Ist das kein SSL oder nur kein ordentliches SSL? Kunden / Dienstleister lassen SSL Zertifikate gern mal ablaufen oder konfigurieren die seltsam.
If it looks like a duck, swims like a duck, and quacks like a duck,
then it probably is a duck.
Benutzeravatar
JoeMill
Rang 14
Beiträge: 2255
Registriert: Sa 25.09.2004, 12:00
Hat sich bedankt: 650 Mal
Danksagung erhalten: 810 Mal
SI-VerdienstordenGroßkreuz des Veteranenorden in bes. Ausführung

Beitrag von JoeMill »

Der Fehler kann kommen, wenn der Proxy für curl falsch konfiguriert ist oder aber auch wenn curl das SSL/TLS nicht versteht was da vom Server zurück kommt. Wenn aber beim Aufruf von http://localhost:1245 eine verständliche Antwort vom Server kommt, dann spricht der kein SSL/TLS auf dem Port.

Bleibt jetzt also die Frage, gibt es da noch einen anderen öffentlichen Port am Container oder kann man am Container noch was umkonfigurieren. Ansonsten halt Reverse Proxy auf dem Host nutzen.
Wer lesen kann, ist klar im Vorteil.
Benutzeravatar
HansFaste
Rang 5
Beiträge: 94
Registriert: Di 03.07.2012, 12:20
Hat sich bedankt: 258 Mal
Danksagung erhalten: 13 Mal
Großkreuz des Veteranenorden

Beitrag von HansFaste »

Falls sich einer der werten Regenten mit dem Aufbau von Container auskennt kann ich den aktuellen Applikations-Container gerne posten. Ich selbst musste mir das Thema (+ ungeliebtes Linux) frisch aneignen und bin da nicht wirklich firm.
Ich habe den Linux Host jetzt erstmal platt gemacht und fange nochmal von vorne an (root konnte nicht auf openssl zugreifen und der Apache wollte kein TSL 1.3 aktivieren)

Edit: Kurzes Update, Server neu aufgesetzt, Docker + Apache installiert, zertifiziert über Let's Encrypt. Von der Erreichbarkeit und den Protokollen sieht es jetzt gut aus. Ich teste es nachher mal mit den Containern.
Antworten

Zurück zu „Technical Support“