From 52f8307d35b7e1c6045452c69501a85a5acd156e Mon Sep 17 00:00:00 2001 From: Dmitry Fofanov Date: Fri, 8 May 2026 19:05:49 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83?= =?UTF-8?q?=D1=80=D0=B0=D1=86=D0=B8=D0=B8=20=D0=B4=D0=BB=D1=8F=20=D0=BA?= =?UTF-8?q?=D0=BE=D1=80=D1=80=D0=B5=D0=BA=D1=82=D0=BD=D0=BE=D0=B9=20=D1=80?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=82=D1=8B=20=D1=81=20=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D0=BA=D1=81=D0=B8:=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BF=D1=83=D1=82=D0=B8=20=D0=B1=D0=B0?= =?UTF-8?q?=D0=B7=D0=BE=D0=B2=D0=BE=D0=B3=D0=BE=20URL=20=D0=B8=20=D1=83?= =?UTF-8?q?=D1=82=D0=BE=D1=87=D0=BD=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BD=D0=B0?= =?UTF-8?q?=D1=81=D1=82=D1=80=D0=BE=D0=B5=D0=BA=20cookies=20=D0=B2=20Apach?= =?UTF-8?q?e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web-1c/README.md | 4 +++- web-1c/dfwebos-app.yml | 2 +- web-1c/docker/httpd.conf | 6 +++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/web-1c/README.md b/web-1c/README.md index 65a0f58..a4ef879 100644 --- a/web-1c/README.md +++ b/web-1c/README.md @@ -75,7 +75,7 @@ docker images dfwebos/apache-1c ```xml @@ -85,6 +85,8 @@ docker images dfwebos/apache-1c Файл смонтирован томом — изменения подхватываются перезапуском приложения, **без пересборки образа**. +Для DFWebOS с запуском через прокси `base` должен оставаться `/app-web-1c/BuhBase`: Apache внутри контейнера добавляет этот префикс перед передачей запроса 1С-handler'у, а браузер получает корректные абсолютные ссылки через `/app-web-1c/...`. + ### 4. (Опционально) добавить DNS-имена сервера 1С Если в `default.vrd` используется DNS-имя сервера 1С (а не IP), которое не разрешается из контейнера, раскомментируйте блок `extra_hosts:` в [docker-compose.yml](docker-compose.yml) и пропишите соответствие имени и IP-адреса. diff --git a/web-1c/dfwebos-app.yml b/web-1c/dfwebos-app.yml index e98b6ff..31ceaf0 100644 --- a/web-1c/dfwebos-app.yml +++ b/web-1c/dfwebos-app.yml @@ -35,7 +35,7 @@ releaseNotes: >- Содержит: - Apache 2.4 с модулем веб-сервера 1С:Предприятие 8.3.23.1912. - Преднастроенный httpd.conf с публикацией информационной базы по пути `/BuhBase`. - - Поддержку cookies за обратным прокси DFWebOS (SameSite=None, Secure при HTTPS). + - Поддержку cookies за обратным прокси DFWebOS (SameSite=None и Secure только при HTTPS). - Учёт заголовка `X-Forwarded-Proto` от обратного прокси DFWebOS. torOnly: false permissions: [] diff --git a/web-1c/docker/httpd.conf b/web-1c/docker/httpd.conf index bc4b0de..7d55af6 100644 --- a/web-1c/docker/httpd.conf +++ b/web-1c/docker/httpd.conf @@ -605,10 +605,10 @@ Alias "/app-web-1c/BuhBase" "/usr/local/apache2/htdocs/BuhBase/" ManagedApplicationDescriptor "/usr/local/apache2/htdocs/BuhBase/default.vrd" # Корректная работа cookies за обратным прокси (DFWebOS). - # SameSite=None позволяет cookies проходить через прокси/iframe. + # SameSite=None допустим только вместе с Secure; на локальном HTTP браузеры + # отбрасывают такие cookies, что ломает сессию входа 1С. - Header edit Set-Cookie ^(.*)$ "$1; SameSite=None" - # Если DFWebOS работает по HTTPS, добавляем Secure + Header edit Set-Cookie ^(.*)$ "$1; SameSite=None" "expr=%{HTTPS} == 'on' || %{HTTP:X-Forwarded-Proto} == 'https'" Header edit Set-Cookie ^(.*)$ "$1; Secure" "expr=%{HTTPS} == 'on' || %{HTTP:X-Forwarded-Proto} == 'https'"