Merge pull request #779 from allmazz/feature/server_listen_host

Add `host` server config parameter
This commit is contained in:
wenjie
2026-04-24 09:46:11 +08:00
committed by GitHub
7 changed files with 29 additions and 12 deletions

View File

@@ -3,8 +3,10 @@ package main
import (
"fmt"
"log"
"net"
"os"
"os/signal"
"strconv"
"syscall"
"time"
@@ -71,12 +73,13 @@ func run() {
router.Init(r)
httpAddr := fmt.Sprintf(":%d", conf.Port.Http)
httpsAddr := fmt.Sprintf(":%d", conf.Port.Https)
httpAddr := listenAddr(conf.Host, strconv.Itoa(conf.Port.Http))
if conf.Proto == "https" {
httpsPortStr := strconv.Itoa(conf.Port.Https)
go func() {
err := r.RunTLS(httpsAddr, conf.Cert.Crt, conf.Cert.Key)
err := r.RunTLS(listenAddr(conf.Host, httpsPortStr), conf.Cert.Crt, conf.Cert.Key)
if err != nil {
panic("start https server failed")
}
@@ -84,7 +87,7 @@ func run() {
if err := middleware.ListenAndServeLoopbackHTTPRedirect(
httpAddr,
httpsAddr,
httpsPortStr,
r,
router.LoopbackHTTPAllowedPaths()...,
); err != nil {
@@ -100,3 +103,10 @@ func run() {
func dispose() {
common.GetKvmVision().Close()
}
func listenAddr(host string, port string) string {
if host == "" {
return fmt.Sprintf(":%s", port)
}
return net.JoinHostPort(host, port)
}