Первичная настройка, повторная проверка: копии без ключевых носителей СКЗИ (--one-file-system, без keymedia), без отпечатка железа и списка компонентов; восстановление на новый сервер — пароль базы bj из копии, база и пользователь ИШ; ключ для контура без канала запоминается и подключается при настройке канала; первый настроенный канал становится рабочим контуром; справочник сертификатов перечитывается после ключа и смены контура; шлюз НРД — шаг 7, ключ — шаг 8 (ключ ставится в профиль ИШ); подсказка контура ключа по сертификату; ИШ: параметры работающего шлюза не перезаписываются; без чужого кода отправителя и получателя по умолчанию; прокси для выхода в интернет; установка с образа без интернета; HTTPS — новый сертификат при смене адреса; bj-network — без cloud-init; проверка готовности: справочник участников, сетевые доступы, учётные записи, последний обмен с НРД
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
@@ -93,6 +93,11 @@ func registerFirstRunRestore(mux *http.ServeMux) {
|
||||
mux.HandleFunc("/first-run/backup/list", op("list"))
|
||||
mux.HandleFunc("/first-run/backup/restore", op("restore"))
|
||||
mux.HandleFunc("/first-run/backup/status", func(w http.ResponseWriter, r *http.Request) {
|
||||
// без входа — только пока сервер ждёт первичной настройки или восстановление шло в последние полчаса
|
||||
if st, err := os.Stat(restoreStatusFile); !firstRunPending() && (err != nil || time.Since(st.ModTime()) > 30*time.Minute) {
|
||||
http.NotFound(w, r)
|
||||
return
|
||||
}
|
||||
out := map[string]any{}
|
||||
if raw, err := os.ReadFile(restoreStatusFile); err == nil {
|
||||
var rs map[string]any
|
||||
|
||||
Reference in New Issue
Block a user