HTTPS: адрес без номера порта — 443 и 80

«Сервер: HTTPS» → «Адрес без номера порта»: bj слушает 443 (тот же HTTPS) и
80 (переход на https://имя/), переходы и адреса — без «:8443». Право на
порты <1024 — drop-in systemd AmbientCapabilities=CAP_NET_BIND_SERVICE
через root-помощника (bj-system-admin ports on|off, bj перезапускается).
Нет права/порт занят — bj работает по 8443, в настройках видна причина.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q7eREaYwUt1i4fNLZcGnjn
This commit is contained in:
fontvielle
2026-10-22 13:33:42 +03:00
parent 77b0ab1117
commit 76e6f82369
6 changed files with 177 additions and 22 deletions
+23 -15
View File
@@ -10,6 +10,7 @@ import (
"net/http"
"net/url"
"path"
"strconv"
"strings"
"time"
@@ -140,21 +141,28 @@ var templateFuncs = template.FuncMap{
}
return "IP-сервера"
},
"timeSynced": func() bool { ok, _ := timeStatus(context.Background()); return ok },
"serverTimeZone": serverTimeZone,
"letter": letterView,
"mailtoLink": mailtoLink,
"handbookDepos": handbookDepos,
"timeZones": func() any { return wizTimeZones },
"timeZoneKnown": timeZoneKnown,
"clientVer": clientVersion,
"verTitle": versionTitle,
"contourRu": contourRu,
"looksErr": looksErr,
"intList": func(v ...int) []int { return v },
"nsdSegTip": nsdSegTip,
"serverIPs": serverIPs,
"httpsPort": func() int { return globalRC.Snapshot().HTTPS.port() },
"timeSynced": func() bool { ok, _ := timeStatus(context.Background()); return ok },
"serverTimeZone": serverTimeZone,
"letter": letterView,
"mailtoLink": mailtoLink,
"handbookDepos": handbookDepos,
"timeZones": func() any { return wizTimeZones },
"timeZoneKnown": timeZoneKnown,
"clientVer": clientVersion,
"verTitle": versionTitle,
"contourRu": contourRu,
"looksErr": looksErr,
"intList": func(v ...int) []int { return v },
"nsdSegTip": nsdSegTip,
"serverIPs": serverIPs,
"httpsPortSuffix": func() string {
if p := globalRC.Snapshot().HTTPS.publicPort(); p != 443 {
return ":" + strconv.Itoa(p)
}
return ""
},
"httpsOwnPort": func() int { return globalRC.Snapshot().HTTPS.port() },
"stdPortsState": stdPortsState,
"depoProcsPending": depoProcsPending,
"depoProcOrder": func() string { return depoProcOrderText("→") },
"nsdSegPop": nsdSegPop,