fix: an alle Adressen binden, sonst erreicht NPM die Dienste nicht
Ich hatte die Ports an 127.0.0.1 gebunden — enger und auf den ersten Blick richtiger. Nur erreicht host.docker.internal das auf diesem Server nicht: die Anfrage kommt aus dem NPM-Container ueber die Docker-Bruecke herein, nicht ueber Loopback, und ein an 127.0.0.1 gebundener Port nimmt sie nicht an. Der Beleg stand die ganze Zeit in der Containerliste: d4rkbot (3080), cdn-files (8090) und portainer sind alle ohne 127.0.0.1-Praefix veroeffentlicht, und NPM erreicht sie. So laeuft es hier, also laeuft es so. Damit macht die FIREWALL den Port zu und nicht die Bindung — das steht jetzt ausdruecklich in beiden Dateien, mitsamt den Befehlen zum Nachsehen. Wer weiss, dass Loopback bei ihm erreicht wird, setzt BIND_ADDR=127.0.0.1. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -88,9 +88,15 @@ nextcloud-aio). Im Container bleibt es bei 9000 und 8080; nur die Seite zum
|
|||||||
Host wandert. Kollidiert später noch etwas, sind es zwei Variablen:
|
Host wandert. Kollidiert später noch etwas, sind es zwei Variablen:
|
||||||
`MINIO_HOST_PORT` und `LITE_HOST_PORT`.
|
`MINIO_HOST_PORT` und `LITE_HOST_PORT`.
|
||||||
|
|
||||||
Die Ports sind an `127.0.0.1` gebunden, also vom Internet aus zu. Ob
|
Die Ports sind an **alle Adressen** gebunden, weil `host.docker.internal` auf
|
||||||
`host.docker.internal` das erreicht, hängt an der Docker-Fassung — in
|
diesem Server über die Docker-Brücke kommt und ein `127.0.0.1`-Port die
|
||||||
`docker-compose.hostports.yml` steht, was dann zu tun ist.
|
Anfrage nicht annähme — dieselbe Bindung, mit der `d4rkbot` und `cdn-files`
|
||||||
|
schon laufen.
|
||||||
|
|
||||||
|
**Damit macht die Firewall den Port zu, nicht die Bindung.** 9100 und 9101
|
||||||
|
gehören von außen dicht; öffentlich erreichbar soll nur NPM auf 80 und 443
|
||||||
|
sein. Wer weiß, dass Loopback bei ihm erreicht wird, setzt
|
||||||
|
`BIND_ADDR=127.0.0.1`.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -28,20 +28,32 @@
|
|||||||
# Belegt waren beim Anlegen: 80, 81, 443, 2224, 3000, 3080, 3478, 8000, 8080,
|
# Belegt waren beim Anlegen: 80, 81, 443, 2224, 3000, 3080, 3478, 8000, 8080,
|
||||||
# 8090, 8443, 9000, 9443, 11000.
|
# 8090, 8443, 9000, 9443, 11000.
|
||||||
#
|
#
|
||||||
# GEBUNDEN AN 127.0.0.1, nicht an alle Adressen. Damit ist der Port vom
|
# GEBUNDEN AN ALLE ADRESSEN, und das ist hier kein Versehen.
|
||||||
# Internet aus zu, und nur der Host — und damit NPM — kommt heran.
|
|
||||||
#
|
#
|
||||||
# Ein Vorbehalt: ob `host.docker.internal` eine Bindung an 127.0.0.1 erreicht,
|
# Zuerst stand hier 127.0.0.1 — enger und auf den ersten Blick richtiger. Nur
|
||||||
# haengt an der Docker-Fassung. Unter Linux fuehrt der Weg ueber die
|
# erreicht `host.docker.internal` das auf diesem Server nicht: die Anfrage
|
||||||
# Docker-Bruecke statt ueber Loopback; dann muss die Bindung 0.0.0.0 lauten und
|
# kommt aus dem NPM-Container ueber die Docker-Bruecke herein, nicht ueber
|
||||||
# die FIREWALL den Port zumachen. Bei d4rkbot auf 3080 funktioniert es — wie es
|
# Loopback, und ein an 127.0.0.1 gebundener Port nimmt sie nicht an.
|
||||||
# dort gebunden ist, sagt `docker port d4rkbot`.
|
#
|
||||||
|
# Der Beleg steht in der Containerliste: d4rkbot (3080), cdn-files (8090) und
|
||||||
|
# portainer sind alle ohne 127.0.0.1-Praefix veroeffentlicht, und NPM erreicht
|
||||||
|
# sie. So laeuft es hier, also laeuft es so.
|
||||||
|
#
|
||||||
|
# WAS DEN PORT DAMIT ZUMACHT, IST DIE FIREWALL, nicht die Bindung. 9100 und
|
||||||
|
# 9101 gehoeren von aussen dicht — oeffentlich erreichbar soll nur NPM auf 80
|
||||||
|
# und 443 sein. Pruefen:
|
||||||
|
#
|
||||||
|
# ufw status bzw. was auf diesem Server zustaendig ist
|
||||||
|
# ss -tlnp | grep -E '9100|9101'
|
||||||
|
#
|
||||||
|
# Wer es enger haben will und weiss, dass Loopback bei ihm erreicht wird:
|
||||||
|
# BIND_ADDR=127.0.0.1
|
||||||
|
|
||||||
services:
|
services:
|
||||||
minio:
|
minio:
|
||||||
ports:
|
ports:
|
||||||
- "127.0.0.1:${MINIO_HOST_PORT:-9100}:9000"
|
- "${BIND_ADDR:-0.0.0.0}:${MINIO_HOST_PORT:-9100}:9000"
|
||||||
|
|
||||||
lite:
|
lite:
|
||||||
ports:
|
ports:
|
||||||
- "127.0.0.1:${LITE_HOST_PORT:-9101}:8080"
|
- "${BIND_ADDR:-0.0.0.0}:${LITE_HOST_PORT:-9101}:8080"
|
||||||
|
|||||||
Reference in New Issue
Block a user