RDS, RDWeb e RemoteApp: como usar o certificado público para iniciar aplicativos no host de sessão?

3

Pergunta: Como eu digo ao RDWeb para iniciar aplicativos de remote.domain.com, em vez de host.internaldomain.local?

Ambiente:

Organização existente com floresta do AD. Novo servidor único 2012 executando todas as funções dos Serviços de Área de Trabalho Remota para o host de sessão. Usou o novo assistente 2012 para configurar "QuickSessionCollection" com funções:

  • Host de Sessão RD
  • Agente de conexão RD
  • Gateway RD
  • Acesso via Web RD
  • Licenciamento de RD

Tudo funciona com o certificado autoassinado, mas queremos evitar isso.

Os usuários são potencialmente máquinas que não são de domínio, portanto não é uma opção colar um certificado raiz particular em suas máquinas. Cada parte da solução precisa usar o certificado público.

Adicionado o certificado public remote.domain.com a todas as funções usando a GUI do Gerenciador do Servidor:

  • Agente de conexão RD - Ativar login único
  • Agente de conexão RD - Publicação
  • Acesso via Web RD
  • Gateway RD

Agora, tudo funciona perfeitamente, exceto o último passo:

  1. o usuário faz login no link
  2. o usuário clica no ícone de um aplicativo, que, em segundo plano, faz o download de um arquivo .rdp assinado por remote.domain.com.
  3. .rdp está definido para usar o Gateway RD, que é remote.domain.com
  4. .rdp diz que o aplicativo está hospedado em host.internaldomain.local interno, que não corresponde ao certificado TLS RDP-tcp de remote.domain.com e exibe um aviso.

Este é o último passo que gostaria de corrigir. Existe uma opção de configuração no PowerShell, WMI ou .config para informar ao RDWeb / RemoteApp para usar remote.domain.com para todos os aplicativos publicados, para que o certificado TLS para RDP corresponda ao que o Host de Sessão está usando?

NOTA: Esta questão refere-se a este assunto e < a href="https://serverfault.com/a/164439/51031"> esta resposta menciona como você pode consertar em 2008, mas essa GUI não existe em 2012 para o RemoteApp, e eu posso ' t encontrar uma configuração do PowerShell para ele.

NOTA: Aqui está uma captura de tela da configuração em 2008R2 que preciso alterar. Ele informa ao RemoteApp o que usar para o nome do servidor Host de Sessão. Como posso definir isso em 2012?

    
por Bret Fisher 17.07.2013 / 18:22

3 respostas

4

Esse PowerShell funcionou: diga à Coleta de Sessões para adicionar um endereço alternativo para as conexões do Host da Sessão. Isso também é o que você faria para um farm de Host de Sessão com round robin.

Depois de executar isso, o lançamento de aplicativos da RDWeb forneceria um único prompt que agora corresponde às três configurações sem avisos:

  • Editor: remote.domain.com
  • Computador remoto: remote.domain.com
  • Servidor de gateway: remote.domain.com

Set-RDSessionCollectionConfiguration –CollectionName QuickSessionCollection -CustomRdpProperty "use redirection server name:i:1 'n alternate full address:s:remote.domain.com"

Dependendo de qualquer outra Custom RDP Properties, o comando acima pode ser diferente, porque você deve incluí-los todos em um comando com um avanço de linha entre cada um.

Informações básicas:

Adicionando configurações personalizadas de RDP: link

Usando esta configuração para HA: link

    
por 17.07.2013 / 21:06
2

Tenho certeza de que você precisa de um certificado válido para o namespace interno e externo. Se você tiver .local internamente (yuck), pode ser difícil obter um certificado com .local nos campos Subject ou Subject Alternative Name. Se você não puder obter um certificado de um provedor público para isso, então uma configuração de PKI interna é sua única opção aqui.

    
por 17.07.2013 / 18:27
2

Se você não tiver um certificado de UC, poderá usar esse script do PowerShell para atualizar o FQDN para corresponder ao seu nome de host / certificado externo:

link

    
por 04.06.2014 / 03:49