Перенаправление жестко закодированных ссылок для приложений, опубликованных с помощью прокси приложения Microsoft Entra
Прокси-сервер приложений Microsoft Entra делает ваши локальные приложения доступными для пользователей, работающих удаленно или на личных устройствах. Тем не менее, некоторые приложения были разработаны с помощью локальных ссылок, внедренных в HTML-код. Эти ссылки могут работать некорректно при использовании приложения удаленно. Если несколько локальных приложений указывают друг на друга, то пользователям требуется, чтобы ссылки продолжали работать, когда их нет в офисе.
Чтобы гарантировать работу ссылок как внутри корпоративной сети, так и за ее пределами, лучше всего настроить внешние URL-адреса приложений таким образом, чтобы они совпадали с их внутренними URL-адресами. При настройке внешних URL-адресов используйте личные домены, чтобы вместо домена прокси приложения по умолчанию адреса содержали ваше корпоративное доменное имя.
Если использование пользовательских доменов в клиенте невозможно, можно воспользоваться несколькими другими вариантами для предоставления этой функциональности. Все остальные параметры также совместимы с пользовательскими доменами и друг с другом, поэтому можно настроить пользовательские домены и другие решения.
Примечание.
Преобразование ссылок не поддерживается для жестко заданных внутренних URL-адресов, созданных с помощью JavaScript.
Вариант 1. Использование Microsoft Edge. Это решение применимо только в том случае, если вы хотите рекомендовать пользователям или требовать от них, чтобы доступ к приложению осуществлялся через браузер Microsoft Edge. Он обрабатывает все опубликованные URL-адреса.
Вариант 2. Использование расширения MyApps. Для этого решения пользователям требуется установить расширение браузера на стороне клиента, но он обрабатывает все опубликованные URL-адреса и работает с наиболее популярными браузерами.
Вариант 3. Используйте параметр перевода ссылок. Параметр является параметром на стороне администратора, который невидим для пользователей. Однако он обрабатывает URL-адреса только в HTML и CSS.
Благодаря этим особенностям ссылки работают независимо от того, где находятся ваши пользователи. Если у вас есть приложения, указывающие непосредственно на внутренние конечные точки или порты, можно сопоставить эти внутренние URL-адреса с опубликованными URL-адресами прокси-сервера внешнего приложения.
Примечание.
Последний вариант предназначен только для арендаторов, которые по какой-либо причине не могут использовать личные домены, имеющие те же внутренние и внешние URL-адреса в своих приложениях. Прежде чем включить эту функцию, ознакомьтесь с тем, можно ли работать с пользовательскими доменами в прокси приложения Microsoft Entra.
А если преобразование ссылок необходимо настроить в приложении SharePoint, то см. статью Настройка альтернативных сопоставлений доступа для SharePoint 2013, где описан другой подход к сопоставлению ссылок.
Вариант 1. Интеграция Microsoft Edge
Для дальнейшей защиты приложения и содержимого можно использовать Microsoft Edge. Для работы с таким решением необходимо рекомендовать пользователям или требовать от них, чтобы доступ к приложению осуществлялся через Microsoft Edge. Microsoft Edge распознает все внутренние URL-адреса, опубликованные с помощью прокси приложения, и перенаправляет их на соответствующий внешний URL-адрес. Перенаправление гарантирует, что жестко закодированные внутренние URL-адреса работают. Если пользователь переходит в браузер и напрямую вводит внутренний URL-адрес, он работает, даже если пользователь удален.
Для получения дополнительных сведений, включая настройку этого параметра, см. документацию Управление веб-доступом с помощью Microsoft Edge для iOS и Android с Microsoft Intune.
Вариант 2. Расширение браузера MyApps
С расширением браузера MyApps все внутренние URL-адреса, опубликованные с помощью прокси приложения, распознают расширение и перенаправляются на соответствующий внешний URL-адрес. Перенаправление гарантирует, что все закодированные внутренние URL-адреса работают. Если пользователь переходит в адресную строку браузера и напрямую вводит внутренний URL-адрес, он работает, даже если пользователь удален.
Чтобы использовать эту возможность, пользователю необходимо скачать расширение и выполнить вход. Для администраторов или пользователей не требуется другая конфигурация.
Дополнительные сведения о настройке этого параметра см. в документации по расширению браузера MyApps.
Примечание.
Расширение браузера MyApps не поддерживает преобразование ссылок для URL-адресов с подстановочными знаками.
Вариант 3: Настройка перевода ссылок
Служба прокси приложения выполняет поиск по HTML и CSS для опубликованных внутренних ссылок и преобразует их при включении перевода ссылок. Перевод ссылок обеспечивает непрерывный интерфейс. Использование расширения браузера MyApps предпочтительнее для параметра перевода ссылок, так как оно обеспечивает более эффективную работу.
Примечание.
Если вы используете вариант 2 или 3, должен быть включен только один из них одновременно.
Как работает перевод ссылок
После проверки подлинности, когда прокси-сервер передает данные приложения пользователю, прокси приложения проверяет приложение на наличие жестко закодированных ссылок и заменяет их соответствующими опубликованными внешними URL-адресами.
Прокси приложения предполагает, что приложения кодируются в UTF-8. Если это не так, то укажите тип кодирования в HTTP-заголовке ответа, например Content-Type:text/html;charset=utf-8
.
Какие ссылки будут затронуты
Функция преобразования ссылок ищет только ссылки, которые находятся в тегах кода в основной части приложения. Прокси приложения имеет отдельную функцию для перевода файлов cookie или URL-адресов в заголовках.
Существует два общих типа внутренних ссылок в локальных приложениях:
-
Относительные внутренние ссылки, которые указывают на общедоступный ресурс в локальной структуре файлов, такой как
/claims/claims.html
. Эти ссылки автоматически работают в приложениях, опубликованных через прокси-сервер приложений, и продолжают функционировать с переводом ссылок или без него. -
Жестко заданные внутренние ссылки на другие локальные приложения, такие как
http://expenses
, или опубликованные файлы, напримерhttp://expenses/logo.jpg
. Функция преобразования ссылок работает с жестко заданными внутренними ссылками и изменяет их для указания на внешние URL-адреса, по которым могут пройти удаленные пользователи.
Полный список атрибутов в HTML-тегах, для которых прокси-сервер приложения поддерживает перевод ссылок, включает:
a (href)
audio (src)
base (href)
button (formaction)
div (data-background, style, data-src)
embed (src)
form (action)
frame (src)
head (profile)
html (manifest)
iframe (longdesc, src)
img (longdesc, src)
input (formaction, src, value)
link (href)
menuitem (icon)
meta (content)
object (archive, data, codebase)
script (src)
source (src)
track (src)
video (src, poster)
В дополнение к этому, атрибут URL также преобразуется в коде CSS.
Как приложения ссылаются друг на друга
Преобразование ссылок включено для каждого приложения, чтобы вы могли контролировать пользовательский опыт на уровне каждого приложения. Включите преобразование ссылок для приложения, если необходимо, чтобы преобразовывались ссылки из этого приложения, а не ссылки на него.
Например, предположим, что у вас есть три приложения, опубликованные через прокси приложения, которые связываются друг с другом: преимущества, расходы и путешествия. Существует четвертое приложение, Feedback, которое не публикуется через прокси приложения.
При включении перевода ссылок для приложения "Преимущества" ссылки на expenses and Travel перенаправляются на внешние URL-адреса для этих приложений. Однако ссылка на отзыв не перенаправляется, так как внешний URL-адрес отсутствует. Ссылки из expenses and Travel back to Benefits не работают, так как перевод ссылок не включен для этих двух приложений.
Какие ссылки не переведены?
Для повышения производительности и безопасности некоторые ссылки не преобразовываются:
- Ссылки вне тегов кода.
- Ссылки в формате, отличном от HTML или CSS.
- Ссылки в кодировке URL-адресов.
- Внутренние ссылки, открываемые из других программ. Ссылки, отправленные по электронной почте или мгновенному сообщению или включенные в другие документы, не переводятся. Пользователи должны знать, как переходить по внешним URL-адресам.
Если вам необходима поддержка одного из этих двух сценариев, то вместо преобразования ссылок используйте одинаковые внутренние и внешние URL-адреса.
Включите преобразование ссылок
Начать использование преобразования ссылок так же просто, как щелкнуть по кнопке:
Войдите в Центр администрирования Microsoft Entra как минимум администратор приложений.
Перейдите в раздел Идентификация>Приложения>Корпоративные приложения>Все приложения.
Выберите приложение, которое вы хотите управлять.
Переведите переключатель Translate URLs in application body (Преобразовывать URL-адреса в коде приложения) в состояние Да.
Нажмите кнопку Сохранить, чтобы применить изменения.
Теперь, когда ваши пользователи заходят в это приложение, прокси-сервер проверяет внутренние URL-адреса, опубликованные через прокси приложения на вашем арендаторе.