Redirecione os links inseridos no código para aplicativos publicados com o Proxy de Aplicativo do Azure ADRedirect hardcoded links for apps published with Azure AD Application Proxy

O Proxy de Aplicativo do Azure AD disponibiliza seus aplicativos locais para usuários remotos ou que estão em seus próprios dispositivos.Azure AD Application Proxy makes your on-premises apps available to users who are remote or on their own devices. No entanto, alguns aplicativos foram desenvolvidos com links locais inseridos no HTML.Some apps, however, were developed with local links embedded in the HTML. Esses links não funcionam corretamente quando o aplicativo é usado remotamente.These links don't work correctly when the app is used remotely. Quando você faz com que vários aplicativos locais apontem uns para os outros, os usuários esperam os links para continuar trabalhando quando não estiverem no escritório.When you have several on-premises applications point to each other, your users expect the links to keep working when they're not at the office.

A melhor maneira de garantir que os links funcionem corretamente dentro e fora de sua rede corporativa é configurar as URLs externas de seus aplicativos para que sejam as mesmas que as URLs internas.The best way to make sure that links work the same both inside and outside of your corporate network is to configure the external URLs of your apps to be the same as their internal URLs. Use domínios personalizados para configurar suas URLs externas para que tenham o nome de domínio corporativo em vez do domínio padrão do proxy de aplicativo.Use custom domains to configure your external URLs to have your corporate domain name instead of the default application proxy domain.

Se você não pode usar domínios personalizados em seu locatário, há várias outras opções para fornecer essa funcionalidade.If you can't use custom domains in your tenant, there are several other options for providing this functionality. Todos esses também são compatíveis com domínios personalizados e entre si, assim você pode configurar domínios personalizados e outras soluções, se necessário.All of these are also compatible with custom domains and each other, so you can configure custom domains and other solutions if needed.

Observação

A conversão de link não tem suporte para URLs internas embutidas em código geradas por meio de JavaScript.Link translation is not supported for hard-coded internal URLs generated through Javascript.

Opção 1: Use o Managed browser ou o Microsoft Edge – essa solução só será aplicável se você planeja recomendar ou exigir que os usuários acessem o aplicativo por meio do navegador Intune Managed browser ou Microsoft Edge.Option 1: Use the Managed Browser or Microsoft Edge – This solution is only applicable if you plan to recommend or require that users access the application through the Intune Managed Browser or Microsoft Edge Browser. Ele manipulará todas as URLs publicadas.It will handle all published URLs.

Opção 2: usar a extensão do MyApps. Essa solução exige que os usuários instalem uma extensão de navegador no lado do cliente que manipula todas as URLs publicadas e funciona com os navegadores mais populares.Option 2: Use the MyApps Extension – This solution requires users to install a client-side browser extension, but it will handle all published URLs and works with most popular browsers.

Opção 3: usar a configuração de conversão de link. Essa é uma configuração do lado do administrador que é invisível para os usuários.Option 3: Use the link translation setting – This is an admin side setting that is invisible to users. No entanto, ela apenas manipulará URLs em HTML e CSS.However, it will only handle URLs in HTML and CSS.

Esses três recursos mantêm seus vínculos de trabalho, independentemente de onde os usuários estão.These three features keep your links working no matter where your users are. Quando você tem aplicativos que apontam diretamente para portas ou pontos de extremidade internos, pode mapear essas URLs internas para as URLs de Proxy de Aplicativo externas publicadas.When you have apps that point directly to internal endpoints or ports, you can map these internal URLs to the published external Application Proxy URLs.

Observação

A última opção é apenas para locatários que, por qualquer motivo, não podem usar domínios personalizados para ter as mesmas URLs internas e externas para seus aplicativos.The last option is only for tenants that, for whatever reason, can't use custom domains to have the same internal and external URLs for their apps. Antes de habilitar esse recurso, verifique se domínios personalizados no Proxy de Aplicativo do Azure AD podem funcionar para você.Before you enable this feature, see if custom domains in Azure AD Application Proxy can work for you.

Ou, se o aplicativo que você precisa configurar com a conversão de link é o SharePoint, consulte Configurar mapeamentos alternativos de acesso para o SharePoint 2013 a fim de conhecer outra abordagem de mapeamento de links.Or, if the application you need to configure with link translation is SharePoint, see Configure alternate access mappings for SharePoint 2013 for another approach to mapping links.

Opção 1: Integração do Intune Managed Browser e do Microsoft EdgeOption 1: Intune Managed Browser and Microsoft Edge Integration

Você pode usar o Intune Managed Browser ou o Microsoft Edge para proteger ainda mais seu aplicativo e conteúdo.You can use the Intune Managed Browser or Microsoft Edge to further protect your application and content. Para usar essa solução, você precisa exigir/recomendar aos usuários que acessem o aplicativo por meio do Intune Managed Browser.To use this solution, you need to require/recommend users access the application through the Intune Managed Browser. Todas as URLs internas publicados com o Proxy de Aplicativo serão reconhecidas pelo Managed Browser e redirecionadas para a URL externa correspondente.All internal URLs published with Application Proxy will be recognized by the Managed Browser and redirected to the corresponding external URL. Isso garante que todas as URLs internas inseridas no código funcionem, e se um usuário for ao navegador e digitar diretamente a URL interna, ela funcione mesmo se o usuário estiver remoto.This ensures that all the hard-coded internal URLs work, and if a user goes to the browser and directly types the internal URL, it works even if the user is remote.

Para saber mais, incluindo como definir essa opção, consulte a documentação do Managed Browser.To learn more, including how to configure this option, please see the Managed Browser documentation.

Opção 2: Extensão do MyApps no navegadorOption 2: MyApps Browser Extension

Com a extensão de navegador My Apps, todas as URLs internas publicadas com o Proxy de Aplicativo são reconhecidas pelo Managed Browser e redirecionadas para a URL externa correspondente.With the MyApps Browser Extension, all internal URLs published with Application Proxy are recognized by the extension and redirected to the corresponding external URL. Isso garante que todas as URLs internas inseridas no código funcionem, e se um usuário for à barra de endereço do navegador e digitar diretamente a URL interna, ela funcione mesmo se o usuário estiver remoto.This ensures that all the hard-coded internal URLs work, and if a user goes to the browser's address bar and directly types the internal URL, it works even if the user is remote.

Para usar esse recurso, o usuário deve fazer o download da extensão e estar conectado.To use this feature, the user needs to download the extension and be logged in. Não há nenhuma outra configuração necessária para os administradores ou usuários.There is no other configuration needed for admins or the users.

Para saber mais, incluindo como configurar essa opção, confira a documentação da extensão do navegador myapps .To learn more, including how to configure this option, please see the MyApps Browser Extension documentation.

Quando a translação de link está habilitada, o serviço de Proxy de Aplicativo pesquisa o HTML e o CSS para links internos publicados e converte-os para que seus usuários obtenham uma experiência ininterrupta.When link translation is enabled, the Application Proxy service searches through HTML and CSS for published internal links and translates them so that your users get an uninterrupted experience. Usar a extensão de navegador myapps é preferencial para a configuração de conversão de link, pois oferece uma experiência mais eficaz aos usuários.Using the MyApps Browser Extension is preferred to the Link Translation Setting since it gives a more performant experience to users.

Observação

Se você estiver usando a opção 2 ou 3, apenas uma delas deverá ser habilitada por vez.If you are using option 2 or 3, only one of these should be enabled at a time.

Após a autenticação, quando o servidor proxy transmite os dados de aplicativo para o usuário, o Proxy de Aplicativo examina o aplicativo em relação a links inseridos no código e os substitui por suas respectivas URLs externas publicadas.After authentication, when the proxy server passes the application data to the user, Application Proxy scans the application for hardcoded links and replaces them with their respective, published external URLs.

O Proxy de Aplicativo pressupõe que os aplicativos estejam codificados em UTF-8.Application Proxy assumes that applications are encoded in UTF-8. Se esse não for o caso, especifique o tipo de codificação em um cabeçalho de resposta HTTP, como Content-Type:text/html;charset=utf-8.If that's not the case, specify the encoding type in an http response header, like Content-Type:text/html;charset=utf-8.

O recurso de translação de link procura apenas por links que estão nas marcas de código no corpo do aplicativo.The link translation feature only looks for links that are in code tags in the body of an app. O Proxy de Aplicativo tem um recurso separado para converter cookies ou URLs em cabeçalhos.Application Proxy has a separate feature for translating cookies or URLs in headers.

Há dois tipos comuns de links internos em aplicativos locais:There are two common types of internal links in on-premises applications:

  • Links internos relativos que apontam para um recurso compartilhado em uma estrutura de arquivo local como /claims/claims.html.Relative internal links that point to a shared resource in a local file structure like /claims/claims.html. Esses links funcionam automaticamente em aplicativos que são publicados por meio do Proxy de Aplicativo e continuam funcionando com ou sem a conversão de link.These links automatically work in apps that are published through Application Proxy, and continue to work with or without link translation.
  • Links internos inseridos no código para outros aplicativos de locais como http://expenses ou arquivos publicados como http://expenses/logo.jpg.Hardcoded internal links to other on-premises apps like http://expenses or published files like http://expenses/logo.jpg. O recurso de translação de link funciona em links internos inseridos no código e os altera para apontar para as URLs externas de que os usuários remotos precisam para avançar.The link translation feature works on hardcoded internal links, and changes them to point to the external URLs that remote users need to go through.

A lista completa de marcas de código HTML que o proxy de aplicativo dá suporte à conversão de links para o incluem:The complete list of HTML code tags that Application Proxy supports link translation for include:

  • aa
  • audioaudio
  • polybasebase
  • botãobutton
  • divdiv
  • Incorporarembed
  • isoladaform
  • quadroframe
  • principalhead
  • htmlhtml
  • iframeiframe
  • imgimg
  • entradainput
  • linklink
  • MenuItemmenuitem
  • volumemeta
  • objetoobject
  • scriptscript
  • origemsource
  • controlestrack
  • vídeovideo

Além disso, no CSS, o atributo URL também é traduzido.Additionally, within CSS the URL attribute is also translated.

A translação de link está habilitada para cada aplicativo, para que você tenha controle sobre a experiência do usuário no nível por aplicativo.Link translation is enabled for each application, so that you have control over the user experience at the per-app level. Ative a translação de link para um aplicativo quando desejar que os links desse aplicativo sejam convertidos, não os links para ele.Turn on link translation for an app when you want the links from that app to be translated, not links to that app.

Por exemplo, suponha que você tem três aplicativos publicados por meio do Proxy de Aplicativo que estão vinculados entre si: Benefícios, Despesas e Viagem.For example, suppose that you have three applications published through Application Proxy that all link to each other: Benefits, Expenses, and Travel. Há um quarto aplicativo, Comentários, que não está publicado pelo Proxy de Aplicativo.There's a fourth app, Feedback, that isn't published through Application Proxy.

Quando você habilita a translação de link para o aplicativo Benefícios, os links para Despesas e Viagem são redirecionados para as URLs externas para esses aplicativos, mas o link para Comentários não é redirecionado porque não há nenhuma URL externa.When you enable link translation for the Benefits app, the links to Expenses and Travel are redirected to the external URLs for those apps, but the link to Feedback is not redirected because there is no external URL. Os links de Despesas e Viagem para Benefícios não funcionam, pois a translação de link não foi habilitada para esses dois aplicativos.Links from Expenses and Travel back to Benefits don't work, because link translation has not been enabled for those two apps.

Os links de Benefícios para outros aplicativos quando a translação de link está habilitada

Para melhorar o desempenho e a segurança, alguns links não são convertidos:To improve performance and security, some links aren't translated:

  • Links que não estão dentro de marcas de código.Links not inside of code tags.
  • Links que não estão em HTML ou CSS.Links not in HTML or CSS.
  • Links em formato codificado de URL.Links in URL-encoded format.
  • Links internos abertos de outros programas.Internal links opened from other programs. Links enviados por email, mensagem instantânea ou incluídos em outros documentos não serão convertidos.Links sent through email or instant message, or included in other documents, won't be translated. Os usuários precisam saber ir para a URL externa.The users need to know to go to the external URL.

Se você precisar dar suporte a um desses dois cenários, use as mesmas URLs internas e externas em vez da conversão de link.If you need to support one of these two scenarios, use the same internal and external URLs instead of link translation.

Começar a trabalhar com a translação de link é tão fácil quanto clicar em um botão:Getting started with link translation is as easy as clicking a button:

  1. Entre no Portal do Azure como administrador.Sign in to the Azure portal as an administrator.

  2. Vá para Azure Active Directory > Aplicativos empresariais > Todos os aplicativos > selecione o aplicativo que deseja gerenciar > Proxy de aplicativo.Go to Azure Active Directory > Enterprise applications > All applications > select the app you want to manage > Application proxy.

  3. Mude Converter URLs no corpo do aplicativo para Sim.Turn Translate URLs in application body to Yes.

    Selecione Sim para converter URLs no corpo do aplicativo

  4. Selecione Salvar para salvar suas alterações.Select Save to apply your changes.

Agora, quando os usuários acessarem esse aplicativo, o proxy examinará automaticamente para verificar a existência de URLs internas que foram publicadas por meio do Proxy de Aplicativo no locatário.Now, when your users access this application, the proxy will automatically scan for internal URLs that have been published through Application Proxy on your tenant.

Enviar comentáriosSend feedback

Queremos sua ajuda para fazer esse recurso funcionar para todos os seus aplicativos.We want your help to make this feature work for all your apps. Podemos pesquisar mais de 30 marcas em HTML e CSS.We search over 30 tags in HTML and CSS. Se você tiver um exemplo de links gerados que não estão sendo convertidos, envie um snippet de código para Comentários de Proxy de Aplicativo.If you have an example of generated links that aren't being translated, send a code snippet to Application Proxy Feedback.

Próximas etapasNext steps

Usar domínios personalizados com o Proxy de Aplicativo do Azure AD para ter a mesma URL interna e externaUse custom domains with Azure AD Application Proxy to have the same internal and external URL

Configurar mapeamentos alternativos de acesso para o SharePoint 2013Configure alternate access mappings for SharePoint 2013