Кабинет: страницы собирает ядро, на хостинге — ретранслятор (Go и PHP)
- modules/lk: конверт запроса/ответа (PageRequest/PageResponse), ServeEnvelope — тот же обработчик страниц внутри ядра; клиент к API внутри процесса (Config.Local/LocalKey); режим ретранслятора (Config.Relay, BJ_RENDER=core, выбор в установщике и lk.json) - ядро: встроенный кабинет (lkcabinet.go), POST /api/lk/render для прямого режима, цикл режима ожидания выполняет конверты страниц; API через ретранслятор недостижимо - PHP-ретранслятор для обычного хостинга (modules/lk/relay-php: index.php, .htaccess, README): установщик в браузере, прямой режим через curl, режим ожидания через очередь в SQLite (BEGIN IMMEDIATE, busy_timeout), конфиг в bj-lk-data рядом с сайтом или в data под .htaccess; архив со страницы настроек (/admin/setup/lk/relay-php.zip) - настройки: карточка НПР/УДС перенесена из раздела «Лицензия» в «Экспорт QUIK»; кнопка «Обновить с сервера лицензий» видна при любом ключе - инструкция /admin/help/lk: два варианта размещения, шаги для PHP-хостинга - тесты: TestLKRelayRendersInCore (оба режима), TestLKPHPRelayAgentMode (настоящий PHP против цикла ядра, PHP_BIN), проверка безопасности через PHP-ретранслятор 34/34 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q4YVo4UMopqT5DzicqpPjL
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
Личный кабинет клиента депозитария — версия для обычного хостинга (PHP)
|
||||
=========================================================================
|
||||
|
||||
Что это. Кабинет ничего не рисует и не хранит сам: страницы собирает ядро bj-server
|
||||
депозитария, а этот файл только передаёт запросы браузера ядру и ответы обратно.
|
||||
Поэтому на хостинге нет ни базы данных, ни данных клиентов — только способ связи с ядром.
|
||||
|
||||
Что нужно от хостинга: PHP 8.1 или новее, расширения curl и sqlite (pdo_sqlite),
|
||||
возможность создать домен/поддомен с сертификатом (Let's Encrypt в панели хостинга).
|
||||
|
||||
Установка:
|
||||
1. Создайте в панели хостинга домен, например lk.депозитарий.ru, и включите https.
|
||||
2. Скопируйте в каталог домена файлы index.php и .htaccess (например, по FTP или через
|
||||
файловый менеджер панели).
|
||||
3. Откройте https://lk.депозитарий.ru — запустится установщик: проверит сервер, спросит
|
||||
способ связи с ядром и ключ доступа, проверит связь и предложит завести
|
||||
администратора кабинета.
|
||||
|
||||
Способы связи с ядром:
|
||||
• Кабинет обращается к ядру — если у ядра есть адрес, доступный с хостинга (https).
|
||||
• Ядро подключается к кабинету — если у ядра нет адреса в интернете. Тогда в настройках
|
||||
ядра («Личный кабинет») выберите «Ядро подключается к кабинету» и укажите адрес сайта.
|
||||
Ядро само дозвонится и заберёт запросы; входящих портов не нужно. Нужно расширение
|
||||
sqlite — очередь запросов лежит в файле.
|
||||
|
||||
Где лежат настройки: каталог bj-lk-data рядом с каталогом сайта (если хостинг разрешает
|
||||
писать туда), иначе подкаталог data внутри сайта, закрытый правилами .htaccess. Файл
|
||||
config.php содержит ключ доступа; чтобы пройти установку заново — удалите его.
|
||||
|
||||
Если у хостинга nginx без поддержки .htaccess: направьте все адреса на index.php
|
||||
(try_files $uri /index.php?$query_string;) и закройте каталог data (location /data { deny all; }).
|
||||
Лучше создать каталог bj-lk-data рядом с сайтом — тогда внутри сайта данных не будет.
|
||||
|
||||
Безопасность: заголовки защиты, куки и правила форм выставляет ядро — ретранслятор
|
||||
передаёт их без изменений и ничего не пишет в журнал. Клиентам публикуйте кабинет только
|
||||
по https.
|
||||
Reference in New Issue
Block a user