mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-18 12:46:56 +02:00
Web : adresse d'écoute réglable par LOKI_WEB_BIND
La façade Rust du conteneur prend le port public et lance `loki web` derrière elle : le Go doit alors n'écouter qu'en local, sinon il resterait joignable en direct sans passer par la façade. Défaut inchangé (0.0.0.0). Plan du lot 1 de la migration Rust joint. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f1f73cfc50
commit
342f787eff
3 files changed
+150
-1
No files matched your search
@@ -0,0 +1,16 @@
|
||||
package loki
|
||||
|
||||
import "testing"
|
||||
|
||||
// La façade Rust lance `loki web` derrière elle : le Go ne doit alors écouter
|
||||
// qu'en local, sinon il resterait joignable en direct, sans la façade.
|
||||
func TestWebBindAddr(t *testing.T) {
|
||||
t.Setenv("LOKI_WEB_BIND", "")
|
||||
if got := webBindAddr(8090); got != "0.0.0.0:8090" {
|
||||
t.Fatalf("défaut : %q", got)
|
||||
}
|
||||
t.Setenv("LOKI_WEB_BIND", "127.0.0.1")
|
||||
if got := webBindAddr(8091); got != "127.0.0.1:8091" {
|
||||
t.Fatalf("local : %q", got)
|
||||
}
|
||||
}
|
||||
@@ -33,7 +33,7 @@ func cmdWeb(args []string) error {
|
||||
port = n
|
||||
}
|
||||
mux := newWebMux()
|
||||
addr := fmt.Sprintf("0.0.0.0:%d", port)
|
||||
addr := webBindAddr(port)
|
||||
|
||||
ln, err := net.Listen("tcp", addr)
|
||||
if err != nil {
|
||||
@@ -100,6 +100,17 @@ func cmdWeb(args []string) error {
|
||||
return srv.Serve(ln)
|
||||
}
|
||||
|
||||
// webBindAddr renvoie l'adresse d'écoute de l'UI. LOKI_WEB_BIND (défaut
|
||||
// 0.0.0.0) existe pour la façade Rust du conteneur (rust/loki-rs) : elle prend
|
||||
// le port public et lance `loki web` en local seulement, sur 127.0.0.1.
|
||||
func webBindAddr(port int) string {
|
||||
host := strings.TrimSpace(os.Getenv("LOKI_WEB_BIND"))
|
||||
if host == "" {
|
||||
host = "0.0.0.0"
|
||||
}
|
||||
return net.JoinHostPort(host, strconv.Itoa(port))
|
||||
}
|
||||
|
||||
// newWebMux construit le routeur HTTP de l'UI web. Extrait de cmdWeb pour être
|
||||
// réutilisé par `loki link`, qui sert ce même mux à travers le tunnel sans
|
||||
// repasser par un écouteur TCP local.
|
||||
|
||||
Reference in new issue
Block a user