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:
@@ -16,7 +16,7 @@ process_one(){
|
||||
# датчик случайных чисел Валидаты: проверка и сеанс «двигайте мышью» (движения — из мастера bj)
|
||||
rng-status|rng-start|rng-cancel) out=$(/usr/local/sbin/bj-validata-rng "${action#rng-}" 2>&1) ;;
|
||||
# системные настройки сервера: серверы времени (NTP)
|
||||
system-ntp|system-tz|system-sync) out=$(BJ_EXTRA="$extra" /usr/local/sbin/bj-system-admin "${action#system-}" 2>&1) ;;
|
||||
system-ntp|system-tz|system-sync|system-ports) out=$(BJ_EXTRA="$extra" /usr/local/sbin/bj-system-admin "${action#system-}" 2>&1) ;;
|
||||
# резервное копирование и восстановление (настройки bj → bj-backup-admin); параметры — JSON в extra
|
||||
backup-config|backup-test|backup-run|backup-list|backup-verify|backup-restore) out=$(BJ_EXTRA="$extra" /usr/local/sbin/bj-backup-admin "${action#backup-}" 2>&1) ;;
|
||||
# Перезапуск службы модуля из админки. Список закрытый: чужую службу
|
||||
|
||||
@@ -4,12 +4,25 @@
|
||||
# ntp — серверы времени (BJ_EXTRA: "ntp1.example.ru ntp2.example.ru"): ntpd, chrony или systemd-timesyncd —
|
||||
# что стоит на сервере. Время важно для подписей и обмена с НРД.
|
||||
# sync — поставить часы сейчас по серверам службы времени (не ждать её плавной подстройки)
|
||||
# ports — адрес bj без номера порта (BJ_EXTRA: on|off): службе bj-server право слушать 443/80
|
||||
# (drop-in AmbientCapabilities=CAP_NET_BIND_SERVICE), перезапуск bj через 3 с
|
||||
set -uo pipefail
|
||||
q() { python3 -c "import json,sys;print(json.dumps(sys.argv[1],ensure_ascii=False))" "$1"; }
|
||||
ok() { echo "{\"ok\":true,\"output\":$(q "$1")}"; }
|
||||
err() { echo "{\"ok\":false,\"error\":$(q "$1")}"; exit 0; }
|
||||
cmd=${1:-}
|
||||
case "$cmd" in
|
||||
ports)
|
||||
d=/etc/systemd/system/bj-server.service.d; f=$d/50-bj-std-ports.conf
|
||||
case "${BJ_EXTRA:-on}" in
|
||||
on) mkdir -p "$d" && printf '%s\n' '[Service]' '# bj слушает 443 (HTTPS) и 80 (переход на https://) — адрес без номера порта' 'AmbientCapabilities=CAP_NET_BIND_SERVICE' > "$f" || err "не удалось записать $f" ;;
|
||||
off) rm -f "$f" ;;
|
||||
*) err "ports: on или off" ;;
|
||||
esac
|
||||
systemctl daemon-reload || err "systemctl daemon-reload не выполнился"
|
||||
systemd-run --quiet --on-active=3 /bin/systemctl restart bj-server.service >/dev/null 2>&1 || { (sleep 3; systemctl restart bj-server.service) >/dev/null 2>&1 & }
|
||||
ok "порты 443/80: ${BJ_EXTRA:-on}; bj перезапустится через 3 с"
|
||||
;;
|
||||
ntp)
|
||||
servers=$(printf '%s' "${BJ_EXTRA:-}" | tr ',;' ' ' | xargs)
|
||||
[ -n "$servers" ] || err "не указан сервер времени"
|
||||
|
||||
Reference in New Issue
Block a user