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

RDS, RDWeb и RemoteApp: как использовать общедоступный сертификат для запуска приложений на узле сеанса?

Вопрос: Как мне сказать RDWeb запускать приложения с remote.domain.com, а не с host.internaldomain.local?

Окружающая среда:

Существующая организация с лесом AD. Новый отдельный сервер 2012, на котором выполняются все роли служб удаленных рабочих столов для узла сеанса. Использовал новый мастер 2012 для настройки QuickSessionCollection с ролями:

Все работает с самоподписанным сертификатом, но мы хотим предотвратить это.

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

Добавлен публичный сертификат remote.domain.com для всех ролей с помощью графического интерфейса Server Manager:

Итак, теперь все работает прекрасно, кроме последнего шага:

  1. пользователь входит в https://remote.domain.com
  2. Пользователь щелкает значок приложения, которое в фоновом режиме загружает файл .rdp, подписанный удаленным доменом .com.
  3. .rdp настроен на использование шлюза удаленных рабочих столов, то есть remote.domain.com
  4. .rdp говорит, что приложение размещено на внутреннем host.internaldomain.local, который не соответствует сертификату TLS RDP-tcp для remote.domain.com, и выдает предупреждение.

Это последний шаг, который я хотел бы исправить. Есть ли параметр конфигурации в PowerShell, WMI или .config, чтобы указать RDWeb / RemoteApp использовать remote.domain.com для всех опубликованных приложений, чтобы сертификат TLS для RDP соответствовал тому, что использует узел сеанса?

НОТА: В этом вопросе говорится об этой проблеме, и в этом ответе упоминается, как вы можете исправить он был в 2008 году, но этот графический интерфейс не существует в 2012 году для RemoteApp, и я не могу найти для него параметр PowerShell.

ПРИМЕЧАНИЕ. Вот снимок экрана с настройками в 2008R2, которые мне нужно изменить. Он сообщает RemoteApp, что использовать в качестве имени сервера узла сеанса. Как я могу установить это в 2012 году?

Эта PowerShell сработала: скажите коллекции сеансов добавить альтернативный адрес для подключений к узлу сеанса. То же самое вы бы сделали для фермы узла сеанса с циклическим перебором.

Как только я запустил это, запуск приложений из RDWeb выдал бы одно приглашение, которое теперь соответствует трем параметрам без предупреждений:

  • Издатель: remote.domain.com
  • Удаленный компьютер: remote.domain.com
  • Сервер шлюза: remote.domain.com

Set-RDSessionCollectionConfiguration –CollectionName QuickSessionCollection -CustomRdpProperty "использовать имя сервера перенаправления: i: 1` n альтернативный полный адрес: s: remote.domain.com "

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

Справочная информация:

Добавление пользовательских настроек RDP: http://social.technet.microsoft.com/wiki/contents/articles/15719.adding-custom-rdp-properties-in-windows-server-2012-vdi-rds-environments.aspx

Используя этот параметр для HA: http://microsoftplatform.blogspot.com/2012/04/rd-connection-broker-ha-and-rdp.html

Если у вас нет сертификата UC, вы можете использовать этот сценарий PowerShell для обновления FQDN в соответствии с именем вашего внешнего хоста / именем сертификата:

http://gallery.technet.microsoft.com/Change-published-FQDN-for-2a029b80

Я почти уверен, что вам нужен сертификат, действительный как для внутреннего, так и для внешнего пространства имен. Если у вас есть .local внутри (yuck), вам может быть трудно получить сертификат с .local в полях Subject или Subject Alternative Name. Если вы не можете получить для этого сертификат от общедоступного провайдера, то единственным вариантом здесь будет внутренняя настройка PKI.