Umleiten von hartcodierten Links für Apps, die mit Azure AD-Anwendungsproxy veröffentlicht wurdenRedirect hard-coded links for apps published with Azure AD Application Proxy

Azure AD-Anwendungsproxy stellt Ihre lokalen Apps Benutzern zur Verfügung, die remote oder an eigenen Geräten arbeiten.Azure AD Application Proxy makes your on-premises apps available to users who are remote or on their own devices. Einige Apps wurden jedoch mit lokalen in HTML eingebetteten Links entwickelt.Some apps, however, were developed with local links embedded in the HTML. Diese Links funktionieren allerdings nicht ordnungsgemäß, wenn die App remote genutzt wird.These links don't work correctly when the app is used remotely. Wenn mehrere lokale Anwendungen aufeinander zeigen, erwarten Ihre Benutzer, dass die Links auch außerhalb ihrer Büroumgebung weiter funktionieren.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.

Die beste Möglichkeit sicherzustellen, dass Links sowohl innerhalb als auch außerhalb des Unternehmensnetzwerks identisch funktionieren, besteht darin, die externen URLs Ihrer Apps entsprechend ihren internen URLs zu konfigurieren.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. Arbeiten Sie mit benutzerdefinierten Domänen, um Ihre externen URLs so zu konfigurieren, dass sie den Namen Ihrer Unternehmensdomäne anstelle der standardmäßigen Anwendungsproxydomäne aufweisen.Use custom domains to configure your external URLs to have your corporate domain name instead of the default application proxy domain.

Wenn Sie in Ihrem Mandanten keine benutzerdefinierten Domänen verwenden können, stehen mehrere andere Optionen für die Bereitstellung dieser Funktionalität zur Verfügung.If you can't use custom domains in your tenant, there are several other options for providing this functionality. Alle diese Optionen sind auch mit benutzerdefinierten Domänen und untereinander kompatibel, sodass Sie bei Bedarf benutzerdefinierte Domänen und andere Lösungen konfigurieren können.All of these are also compatible with custom domains and each other, so you can configure custom domains and other solutions if needed.

Hinweis

Die Linkübersetzung wird für hartcodierte interne URLs, die mit JavaScript generiert wurden, nicht unterstützt.Link translation is not supported for hard-coded internal URLs generated through JavaScript.

Option 1: Verwenden von Microsoft Edge: Diese Lösung ist nur anwendbar, wenn Sie empfehlen oder festlegen möchten, dass Benutzer über den Browser Microsoft Edge auf die Anwendung zugreifen.Option 1: Use Microsoft Edge – This solution is only applicable if you plan to recommend or require that users access the application through the Microsoft Edge browser. Es werden alle veröffentlichten URLs verarbeitet.It will handle all published URLs.

Option 2: Verwenden der MyApps-Erweiterung: Für diese Lösung müssen Benutzer eine clientseitige Browsererweiterung installieren. Die Lösung kann aber alle veröffentlichten URLs verarbeiten und in den meisten gängigen Browsern verwendet werden.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.

Option 3: Verwenden der Einstellung für die Linkübersetzung: Diese Einstellung wird vom Administrator festgelegt und ist für Benutzer nicht sichtbar.Option 3: Use the link translation setting – This is an admin side setting that is invisible to users. Allerdings werden nur URLs in HTML und CSS verarbeitet.However, it will handle URLs only in HTML and CSS.

Mit diesen drei Features funktionieren Ihre Links unabhängig davon, wo sich Ihre Benutzer befinden.These three features keep your links working no matter where your users are. Wenn Sie über Apps verfügen, die direkt auf interne Endpunkte oder Ports verweisen, können Sie diese internen URLs den veröffentlichten externen Anwendungsproxy-URLs zuordnen.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.

Hinweis

Die letzte Option ist nur für Mandanten vorgesehen, die aus verschiedenen Gründen keine benutzerdefinierten Domänen verwenden können, damit sie über dieselben internen und externen URLs für ihre Apps verfügen.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. Bevor Sie dieses Feature aktivieren, finden Sie heraus, ob benutzerdefinierte Domänen in Azure AD-Anwendungsproxy für Sie funktionieren.Before you enable this feature, see if custom domains in Azure AD Application Proxy can work for you.

Wenn die Anwendung, die Sie mit Linkübersetzung konfigurieren müssen, SharePoint ist, finden Sie unter Konfigurieren alternativer Zugriffszuordnungen für SharePoint 2013 ein weiteres Verfahren zum Zuordnen von 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.

Option 1: Microsoft Edge-IntegrationOption 1: Microsoft Edge Integration

Mithilfe von Microsoft Edge können Sie die Anwendung und die Inhalte zusätzlich schützen.You can use Microsoft Edge to further protect your application and content. Zur Verwendung dieser Lösung müssen Sie empfehlen oder festlegen, dass Benutzer über den Browser Microsoft Edge auf die Anwendung zugreifen.To use this solution, you need to require/recommend users access the application through Microsoft Edge. Alle internen mit Anwendungsproxy veröffentlichten URLs werden von Edge erkannt und an die entsprechende externe URL umgeleitet.All internal URLs published with Application Proxy will be recognized by Edge and redirected to the corresponding external URL. Dadurch wird sichergestellt, dass alle hartcodierten internen URLs funktionieren. Wenn ein Benutzer im Browser direkt die interne URL eingibt, funktioniert diese, auch wenn der Benutzer remote arbeitet.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.

Weitere Informationen, einschließlich Informationen zum Konfigurieren dieser Option, finden Sie in der Dokumentation Verwalten des Webzugriffs mithilfe von Microsoft Edge für iOS und Android mit Microsoft Intune.To learn more, including how to configure this option, please see the Manage web access by using Edge for iOS and Android with Microsoft Intune documentation.

Option 2: MyApps-BrowsererweiterungOption 2: MyApps Browser Extension

Mit der MyApps-Browsererweiterung werden alle internen mit dem Anwendungsproxy veröffentlichten URLs erkannt und an die entsprechende externe URL umgeleitet.With the MyApps Browser Extension, all internal URLs published with Application Proxy are recognized by the extension and redirected to the corresponding external URL. Dadurch wird sichergestellt, dass alle hartcodierten internen URLs funktionieren. Wenn ein Benutzer auf der Adressleiste des Browsers direkt die interne URL eingibt, funktioniert diese, auch wenn der Benutzer remote arbeitet.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.

Zur Verwendung dieses Features muss der Benutzer die Erweiterung herunterladen und angemeldet sein.To use this feature, the user needs to download the extension and be logged in. Administratoren oder Benutzer müssen keine weitere Konfiguration vornehmen.There is no other configuration needed for admins or the users.

Weitere Informationen, auch zum Konfigurieren dieser Option, finden Sie in der Dokumentation MyApps-Browsererweiterung.To learn more, including how to configure this option, please see the MyApps Browser Extension documentation.

Wenn die Linkübersetzung aktiviert ist, durchsucht der Anwendungsproxydienst HTML- und CSS-Tags nach veröffentlichten internen Links und übersetzt sie, sodass bei Benutzern keine Unterbrechung stattfindet.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. Die MyApps-Browsererweiterung wird gegenüber der Einstellung für die Linkübersetzung bevorzugt verwendet, da sie dem Benutzer eine leistungsstärkere Erfahrung bietet.Using the MyApps Browser Extension is preferred to the Link Translation Setting since it gives a more performant experience to users.

Hinweis

Wenn Sie Option 2 oder 3 verwenden, sollte jeweils nur eine dieser Optionen aktiviert werden.If you are using option 2 or 3, only one of these should be enabled at a time.

Wenn der Proxyserver nach der Authentifizierung die Anwendungsdaten an den Benutzer übergibt, scannt Anwendungsproxy die Anwendung auf hartcodierte Links und ersetzt diese durch die jeweiligen veröffentlichten externen URLs.After authentication, when the proxy server passes the application data to the user, Application Proxy scans the application for hard-coded links and replaces them with their respective, published external URLs.

Der Anwendungsproxy geht davon aus, dass Anwendungen mit UTF-8 codiert sind.Application Proxy assumes that applications are encoded in UTF-8. Wenn das nicht der Fall ist, geben Sie den Codierungstyp in einem HTTP-Antwortheader wie z. B. Content-Type:text/html;charset=utf-8 an.If that's not the case, specify the encoding type in an HTTP response header, like Content-Type:text/html;charset=utf-8.

Das Linkübersetzungsfeature sucht nur nach Links, die sich in Codetags im Text einer App befinden.The link translation feature only looks for links that are in code tags in the body of an app. Anwendungsproxy weist ein separates Feature für die Übersetzung von Cookies oder URLs in Headern auf.Application Proxy has a separate feature for translating cookies or URLs in headers.

Es gibt zwei verbreitete Typen von internen Links in lokalen Anwendungen:There are two common types of internal links in on-premises applications:

  • Relative interne Links, die auf eine freigegebene Ressource in einer lokalen Dateistruktur wie /claims/claims.html zeigen.Relative internal links that point to a shared resource in a local file structure like /claims/claims.html. Diese Links funktionieren automatisch in Apps, die über den Anwendungsproxy veröffentlicht werden, und funktionieren auch weiterhin mit oder ohne Linkübersetzung.These links automatically work in apps that are published through Application Proxy, and continue to work with or without link translation.
  • Hartcodierte interne Links zu anderen lokalen Apps wie http://expenses oder veröffentlichten Dateien wie http://expenses/logo.jpg.Hard-coded internal links to other on-premises apps like http://expenses or published files like http://expenses/logo.jpg. Das Linkübersetzungsfeature funktioniert für hartcodierte interne Links und ändert diese, sodass sie auf die externen URLs zeigen, die für Remotebenutzer gelten.The link translation feature works on hard-coded internal links, and changes them to point to the external URLs that remote users need to go through.

Die vollständige Liste der HTML-Codetags, für die der Anwendungsproxy die Übersetzung von Links unterstützt, enthält Folgendes:The complete list of attributes in HTML code tags that Application Proxy supports link translation for include:

  • a (href)a (href)
  • audio (src)audio (src)
  • base (href)base (href)
  • button (formaction)button (formaction)
  • div (data-background, style, data-src)div (data-background, style, data-src)
  • embed (src)embed (src)
  • form (action)form (action)
  • frame (src)frame (src)
  • head (profile)head (profile)
  • html (manifest)html (manifest)
  • iframe (longdesc, src)iframe (longdesc, src)
  • img (longdesc, src)img (longdesc, src)
  • input (formaction, src, value)input (formaction, src, value)
  • link (href)link (href)
  • menuitem (icon)menuitem (icon)
  • meta (content)meta (content)
  • object (archive, data, codebase)object (archive, data, codebase)
  • script (src)script (src)
  • source (src)source (src)
  • track (src)track (src)
  • video (src, poster)video (src, poster)

Zusätzlich wird das URL-Attribut innerhalb von CSS übersetzt.Additionally, within CSS the URL attribute is also translated.

Die Linkübersetzung ist für jede Anwendung aktiviert, damit Sie die Kontrolle über die Benutzererfahrung für die einzelnen Apps behalten.Link translation is enabled for each application, so that you have control over the user experience at the per-app level. Aktivieren Sie die Linkübersetzung für eine App, wenn die Links aus dieser App übersetzt werden sollen, nicht Links auf diese App.Turn on link translation for an app when you want the links from that app to be translated, not links to that app.

Beispiel: Angenommen, drei Ihrer Anwendungen werden über Anwendungsproxy veröffentlicht und verweisen mit Links aufeinander: „Vorteile“, „Ausgaben“ und „Reisen“.For example, suppose that you have three applications published through Application Proxy that all link to each other: Benefits, Expenses, and Travel. Es gibt eine vierte App, „Feedback“, die nicht über Anwendungsproxy veröffentlicht wird.There's a fourth app, Feedback, that isn't published through Application Proxy.

Wenn Sie die Linkübersetzung für Vorteile aktivieren, werden die Links zu „Ausgaben“ und „Reisen“ an die externen URLs für diese Apps umgeleitet, der Link zu „Feedback“ wird jedoch nicht umgeleitet, da keine externe URL vorhanden ist.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. Links von „Ausgaben“ und „Reisen“ zurück zu „Vorteile“ funktionieren nicht, da die Linkübersetzung für diese beiden Apps nicht aktiviert wurde.Links from Expenses and Travel back to Benefits don't work, because link translation has not been enabled for those two apps.

Links von „Vorteile“ zu anderen Apps, wenn Linkübersetzung aktiviert ist

Zum Verbessern der Leistung und Sicherheit werden einige Links nicht übersetzt:To improve performance and security, some links aren't translated:

  • Links außerhalb von CodetagsLinks not inside of code tags.
  • Nicht in HTML- oder CSS-Tags enthaltene LinksLinks not in HTML or CSS.
  • Links im URL-codierten FormatLinks in URL-encoded format.
  • Interne Links, die von anderen Programmen geöffnet wurdenInternal links opened from other programs. Links, die über E-Mail oder Sofortnachrichten gesendet wurden oder in anderen Dokumenten enthalten sind, werden nicht übersetzt.Links sent through email or instant message, or included in other documents, won't be translated. Den Benutzern muss bekannt sein, dass sie zur externen URL navigieren müssen.The users need to know to go to the external URL.

Wenn Sie eines dieser beiden Szenarien unterstützen müssen, können Sie dieselben internen und externen URLs anstelle der Linkübersetzung verwenden.If you need to support one of these two scenarios, use the same internal and external URLs instead of link translation.

Die ersten Schritte mit der Linkübersetzung sind einfache Klicks auf Schaltflächen:Getting started with link translation is as easy as clicking a button:

  1. Melden Sie sich beim Azure-Portal als Administrator an.Sign in to the Azure portal as an administrator.

  2. Wechseln Sie zu Azure Active Directory > Unternehmensanwendungen > Alle Anwendungen, wählen Sie die App, die Sie verwaltenden möchten, und dann Anwendungsproxy aus.Go to Azure Active Directory > Enterprise applications > All applications > select the app you want to manage > Application proxy.

  3. Legen Sie URLs im Hauptteil der Anwendung übersetzen auf Ja fest.Turn Translate URLs in application body to Yes.

    Wählen Sie „Ja“ aus, um die URLs im Hauptteil der Anwendung zu übersetzen.

  4. Klicken Sie zum Übernehmen der Änderungen auf Speichern.Select Save to apply your changes.

Wenn Ihre Benutzer auf diese Anwendung zugreifen, scannt der Proxy nun automatisch auf interne URLs, die über Anwendungsproxy für Ihren Mandanten veröffentlicht wurden.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.

Feedback sendenSend feedback

Wir sind auf Ihre Hilfe angewiesen, damit dieses Feature für alle Ihre Apps funktioniert.We want your help to make this feature work for all your apps. Wir durchsuchen über 30 Tags in HTML und CSS.We search over 30 tags in HTML and CSS. Wenn Sie ein Beispiel für generierte Links haben, die nicht übersetzt werden, senden Sie einen Codeausschnitt an Anwendungsproxy-Feedback.If you have an example of generated links that aren't being translated, send a code snippet to Application Proxy Feedback.

Nächste SchritteNext steps

Verwenden von benutzerdefinierten Domänen mit Azure AD-Anwendungsproxy, damit diese dieselbe interne und externe URL aufweisenUse custom domains with Azure AD Application Proxy to have the same internal and external URL

Konfigurieren alternativer Zugriffszuordnungen für SharePoint 2013Configure alternate access mappings for SharePoint 2013