Назад | Перейти на главную страницу

Привязать службу ADFS 2.0 к определенному IP-адресу

У меня есть один сервер с ADFS-2.0 и несколько сайтов на нем. Один из веб-сайтов - Dynamics CRM, который прослушивает определенный IP-адрес на порту 443.

Dynamics CRM предоставляет файл метаданных для целей конфигурации, который можно использовать для настройки доверия ретрансляционной стороны с ADFS. Он доступен по URL-адресу

https://auth.contoso.com/FederationMetadata/2007-06/federationmetadata.xml

Проблема в том, что ADFS-2.0 устанавливает службу, которая регистрирует следующий urlacl

https: // +: 443 / FederationMetadata / 2007-06 /

Это означает результат доступа к URL https://auth.contoso.com/FederationMetadata/2007-06/federationmetadata.xml это файл метаданных ADFS, а не Dynamics CRM.

Я попытался удалить urlacl по умолчанию и добавил (по одному)

https://192.168.1.2:443/FederationMetadata/2007-06/ https://adfs.mydomain.com:443/FederationMetadata/2007-06/

но ни один из них не работал. Вместо этого служба ADFS не запустилась.

Есть ли способ привязать эту службу к IP-адресу? На данный момент я вижу только две альтернативы

  1. Привяжите службу к нестандартному порту. Это приводит к проблемам, потому что это означает, что веб-сайт ADFS также должен использовать нестандартный HTTPS-порт.

  2. Установите ADFS-2.0 на другой сервер (это моя любимая альтернатива - однако это возможно не во всех ситуациях ...)

Я предполагаю, что Dynamics имеет свой собственный веб-сайт и не использует веб-сайт по умолчанию. Это может быть совершенно неверно.

В любом случае, если это отдельные сайты, почему бы вам просто не настроить заголовки хоста HTTPS и убедиться, что сайт по умолчанию и сайт динамики специально назначены или привязаны к определенному заголовку хоста или IP. Вы всегда можете назначить несколько IP-адресов одному и тому же сетевому адаптеру на машине.

Команда заголовка узла SSL IIS:

appcmd set site /site.name:"Name of Website in IIS" /+bindings.[protocol='https',bindingInformation='*:443:Host Header']

Я знаю, что вопрос касается привязки ADFS к определенному IP, и в этом я не могу вам помочь.
Этому вопросу тоже несколько лет, но мой ответ по-прежнему применим к тем, кто хочет запускать ADFS и Dynamics CRM на одном порте.

Что я могу сказать, так это то, что у меня Dynamics CRM 2016 работает вместе с ADFS на стандартном HTTPS-порту 443.

Вы можете увидеть полную историю здесь: Установите Microsoft Dynamics CRM 2016 с IFD и ADFS на одном сервере, используя порт 443

В основном вы можете использовать URL-адрес https://auth.contoso.com/Handlers/FederationMetadata.ashx чтобы получить метаданные Dynamics Federation вместо https://auth.contoso.com/FederationMetadata/2007-06/federationmetadata.xml

Или вы можете изменить Dynamics CRM web.config и предоставить метаданные по другому пути.

У меня была точно такая же конфигурация, и я тоже искал подобное разрешение. После долгих поисков я нашел этот в котором объясняется обходной путь для запуска ADFS на порту, отличном от 443. К сожалению, мне не удалось его успешно реализовать, но я не уверен, была ли проблема в моей конкретной конфигурации или в обходном пути в целом.

Также я не пробовал играть с urlacl - похоже, проблема тут же. Использовать netsh http show urlacl чтобы увидеть три URL-адреса, добавленные ADFS.

Так что попробуйте, если у вас есть шанс.

В конце концов я остановился на втором варианте - установке ADFS на другой компьютер, что в основном является решением, предложенным MS.