Linux & Docker
Moderatoren: Garfield, Alith Anar
- HansFaste
- Rang 5
- Beiträge: 94
- Registriert: Di 03.07.2012, 12:20
- Hat sich bedankt: 258 Mal
- Danksagung erhalten: 13 Mal
Linux & Docker
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.
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.
- Garfield
- Rang 19
- Beiträge: 10327
- Registriert: So 05.08.2007, 18:38
- Hat sich bedankt: 1036 Mal
- Danksagung erhalten: 3121 Mal
+14
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?
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.
then it probably is a duck.
- Garfield
- Rang 19
- Beiträge: 10327
- Registriert: So 05.08.2007, 18:38
- Hat sich bedankt: 1036 Mal
- Danksagung erhalten: 3121 Mal
+14
Ä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.
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.
then it probably is a duck.
- JoeMill
- Rang 14
- Beiträge: 2255
- Registriert: Sa 25.09.2004, 12:00
- Hat sich bedankt: 650 Mal
- Danksagung erhalten: 810 Mal
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?)
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.
- HansFaste
- Rang 5
- Beiträge: 94
- Registriert: Di 03.07.2012, 12:20
- Hat sich bedankt: 258 Mal
- Danksagung erhalten: 13 Mal
@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"?
@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"?
- JoeMill
- Rang 14
- Beiträge: 2255
- Registriert: Sa 25.09.2004, 12:00
- Hat sich bedankt: 650 Mal
- Danksagung erhalten: 810 Mal
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?
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.
- Garfield
- Rang 19
- Beiträge: 10327
- Registriert: So 05.08.2007, 18:38
- Hat sich bedankt: 1036 Mal
- Danksagung erhalten: 3121 Mal
+14
Ist das kein SSL oder nur kein ordentliches SSL? Kunden / Dienstleister lassen SSL Zertifikate gern mal ablaufen oder konfigurieren die seltsam.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.
If it looks like a duck, swims like a duck, and quacks like a duck,
then it probably is a duck.
then it probably is a duck.
- JoeMill
- Rang 14
- Beiträge: 2255
- Registriert: Sa 25.09.2004, 12:00
- Hat sich bedankt: 650 Mal
- Danksagung erhalten: 810 Mal
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.
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.
- HansFaste
- Rang 5
- Beiträge: 94
- Registriert: Di 03.07.2012, 12:20
- Hat sich bedankt: 258 Mal
- Danksagung erhalten: 13 Mal
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.
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.