Требования к защищаемым ресурсам при портальном доступе

Правила для ресурсов с портальным доступом для обеспечения работы ресурсов на одном портале

При создании ресурса с портальным доступом, чтобы несколько ресурсов корректно работали на одном портале, нужно учитывать при создании ресурсов, что ресурс должен работать с учетом работы через обратный прокси-сервер в принципе.

При использовании TLS-offload или в случае Single WEB-Resource не обязательно придерживаться нижеследующих правил.

Список правил:

  1. Все ссылки должны быть относительными. Запрещены захардкоженые и абсолютные ссылки.
  2. Все ресурсы (и HTML, и картинки, и CSS, и JS, и API и проч.) должны быть доступны только по URL из подкаталога и/или вложенных. Например site.ru/resource/, site.ru/resource/img/, site.ru/resource/style/ и подобные.

    Важное замечание: Запрещены URL вида: site.ru/img/, site.ru/style/ и проч.
  3. Допускаются обращения к site.ru/resource/ только с завершающим слешем. Строго запрещены обращения к site.ru/resource без завершающего слеша.

  4. При использовании API — запрещено выделять отдельный домен для этого. Иначе на домене тоже необходимо будет проходить авторизацию. Лучшим вариантом будет для API сделать выделенный URL, например: site.ru/resource/api/.

  5. При динамическом формировании ссылок в клиентском JS/CSS необходимо: либо делать это без доменного имени, либо делать доменное имя динамическим.
  6. При обработке данных и формировании ссылок на бэкенде необходимо использовать схему: домен, порт и схему из оригинального запроса.

    Например, принимать во внимание значения HTTP-заголовков: X-Forwarded-For, X-Forwarded-Host, X-Forwarded-Port, X-Forwarded-Proto.

  7. Никакие имена каталогов и файлов не должны начинаться с точки.

    Важное замечание: Запрещены имена вида site.ru/resource/api/.well-known.