Install Microsoft Dynamics CRM 2016 with IFD and ADFS on the same server using port 443

I'm trying to install Microsoft Dynamics CRM 2016 with IFD (Internet-Facing Deployment) and ADFS on the same server (Windows Server 2012 R2)

ADFS is running and seems to be working fine. Я могу получить метаданные на https://sts.mydomain.com/FederationMetadata/2007-06/FederationMetadata.xml

Я настроил Dynamics CRM IFD для использования следующих параметров:
Домен сервера веб-приложений: mydomain.com
Домен веб-службы организации: mydomain.com
Домен веб-службы обнаружения: discovery.mydomain.com
Внешний домен, на котором выходят в Интернет серверы расположены: auth.mydomain.com

Проблема начинается при попытке настроить доверие проверяющей стороны в ADFS.
При использовании адреса https://auth.mydomain.com/FederationMetadata/2007-06/FederationMetadata.xml в качестве адреса метаданных федерации происходит выборка неправильных метаданных.
It's fetching the ADFS metadata instead of the CRM metadata.

The only way to get this working is if I set a different port for the CRM endpoints, for example by appending :444 to the CRM IFD settings.

The problem with this configuration is that it would use non-standard HTTPS port 444 for the Dynamics CRM website and also during the Authentication phase using auth.mydomain.com:444

Is there any way to have both ADFS and Dynamics CRM running on HTTPS on port 443?

0
задан 16 August 2018 в 19:47
1 ответ

Пытался возиться с резервированием URL, но безуспешно.
Попытка добавить еще один IP-адрес к сетевому интерфейсу снова безуспешно.
Кажется, что ADFS всегда пытается привязаться к 0.0.0.0 вместо определенного IP. Если резервирования нет, то ADFS не будет связываться вообще.

Я также пробовал то, что предлагал Томас, но ADFS всегда сначала перехватывает запрос. (из-за резервирования URL)

Я заставил Dynamics CRM предоставить свои метаданные по другому пути URL.

В основном я думал, что смогу сделать это с помощью правил перезаписи URL.
Я собирался создать новое правило, когда обнаружил это в Dynamics CRM web.config

<rule name="FederationMetadataRule" stopProcessing="true">
  <match url="FederationMetadata/2007-06/FederationMetadata.xml" />
  <action type="Rewrite" url="/Handlers/FederationMetadata.ashx" />
</rule>

Путь по умолчанию: C: \ Program Files \ Microsoft Dynamics CRM \ CRMWeb \ web.config

Вам просто нужно изменить URL-адрес на что-то другое, кроме FederationMetadata, например:

<rule name="FederationMetadataRule" stopProcessing="true">
  <match url="FederationMetadataCrm/2007-06/FederationMetadata.xml" />
  <action type="Rewrite" url="/Handlers/FederationMetadata.ashx" />
</rule>

После этого изменения вы можете добавить доверие проверяющей стороны, используя URL-адрес https://auth.mydomain.com/FederationMetadataCrm/2007-06/FederationMetadata.xml

Другой вариант - добавить его с помощью URL https://auth.mydomain.com/Handlers/ FederationMetadata.ashx

В первом случае вы должны быть уверены, что изменение сохраняется при обновлении Dynamics CRM.

Второй вариант кажется лучше, поскольку вам не нужно изменять файл web.config и только если Microsoft не забывает изменить имя обработчика и его расположение.

В любом случае, лучше всего, если вы проверите его после обновления Dynamics CRM.

Теперь все работает на порту 443.

0
ответ дан 5 December 2019 в 08:33

Теги

Похожие вопросы