Omdirigera hårdkodade länkar för appar som publicerats med Microsoft Entra-programproxy

Microsoft Entra-programproxy gör dina lokala appar tillgängliga för användare som är fjärranslutna eller på sina egna enheter. Vissa appar har dock utvecklats med lokala länkar inbäddade i HTML-koden. Dessa länkar fungerar inte korrekt när appen används via fjärranslutning. När du har flera lokala program pekar på varandra förväntar sig användarna att länkarna fortsätter att fungera när de inte är på kontoret.

Det bästa sättet att se till att länkar fungerar på samma sätt både i och utanför företagets nätverk är att konfigurera externa URL:er för dina appar så att de är samma som deras interna URL:er. Använd anpassade domäner för att konfigurera dina externa URL:er så att de har företagets domännamn i stället för standarddomänen för programproxy.

Om du inte kan använda anpassade domäner i din klientorganisation finns det flera andra alternativ som tillhandahåller den här funktionen. Alla andra alternativ är också kompatibla med anpassade domäner och varandra, så du kan konfigurera anpassade domäner och andra lösningar.

Kommentar

Länköversättning stöds inte för hårdkodade interna URL:er som genereras via JavaScript.

Alternativ 1: Använd Microsoft Edge – Den här lösningen gäller endast om du planerar att rekommendera eller kräva att användarna får åtkomst till programmet via Microsoft Edge-webbläsaren. Den hanterar alla publicerade URL:er.

Alternativ 2: Använd MyApps-tillägget – Den här lösningen kräver att användarna installerar ett webbläsartillägg på klientsidan, men det hanterar alla publicerade URL:er och fungerar med de flesta populära webbläsare.

Alternativ 3: Använd länköversättningsinställningen – Alternativet är en inställning på administratörssidan som är osynlig för användarna. Den hanterar dock endast URL:er i HTML och CSS.

De här tre funktionerna gör att länkarna fungerar oavsett var användarna befinner sig. När du har appar som pekar direkt på interna slutpunkter eller portar kan du mappa dessa interna URL:er till de publicerade externa programproxy-URL:erna.

Kommentar

Det sista alternativet är endast för klienter som av någon anledning inte kan använda anpassade domäner för att ha samma interna och externa URL:er för sina appar. Innan du aktiverar den här funktionen ska du se om anpassade domäner i Microsoft Entra-programproxyn kan fungera åt dig.

Om programmet du behöver konfigurera med länköversättning är SharePoint kan du läsa Konfigurera alternativa åtkomstmappningar för SharePoint 2013 för en annan metod för mappning av länkar.

Alternativ 1: Microsoft Edge-integrering

Du kan använda Microsoft Edge för att ytterligare skydda ditt program och innehåll. Om du vill använda den här lösningen måste du kräva/rekommendera användare åtkomst till programmet via Microsoft Edge. Microsoft Edge identifierar alla interna URL:er som publicerats med programproxy och omdirigerar dem till motsvarande externa URL. Omdirigeringen säkerställer att hårdkodade interna URL:er fungerar. Om en användare går till webbläsaren och direkt skriver den interna URL:en fungerar den även om användaren är fjärransluten.

Mer information, inklusive hur du konfigurerar det här alternativet, finns i dokumentationen Hantera webbåtkomst med hjälp av Microsoft Edge för iOS och Android med Microsoft Intune .

Alternativ 2: MyApps Webbläsartillägg

Med MyApps-webbläsartillägget känner alla interna URL:er som publicerats med programproxy igen tillägget och omdirigeras till motsvarande externa URL. Omdirigeringen säkerställer att alla hårdkodade interna URL:er fungerar. Om en användare går till webbläsarens adressfält och direkt skriver den interna URL:en, fungerar den även om användaren är fjärransluten.

Om du vill använda den här funktionen måste användaren ladda ned tillägget och loggas in. Det finns ingen annan konfiguration som behövs för administratörer eller användare.

Mer information, inklusive hur du konfigurerar det här alternativet, finns i dokumentationen för MyApps Browser Extension .

Kommentar

MyApps-webbläsartillägget stöder inte länköversättning för jokertecken-URL:er.

Programproxytjänsten söker via HTML och CSS efter publicerade interna länkar och översätter dem när länköversättning är aktiverat. Länköversättning ger en oavbruten upplevelse. Att använda MyApps webbläsartillägg är att föredra framför inställningen Länköversättning eftersom det ger en mer högpresterande upplevelse.

Kommentar

Om du använder alternativ 2 eller 3 bör endast en av dessa aktiveras i taget.

När proxyservern efter autentiseringen skickar programdata till användaren söker programproxyn igenom programmet efter hårdkodade länkar och ersätter dem med respektive publicerade externa URL:er.

Programproxy förutsätter att program kodas i UTF-8. Om så inte är fallet anger du kodningstypen i ett HTTP-svarshuvud, till exempel Content-Type:text/html;charset=utf-8.

Länköversättningsfunktionen söker bara efter länkar som finns i kodtaggar i brödtexten i en app. Programproxyn har en separat funktion för att översätta cookies eller URL:er i rubriker.

Det finns två vanliga typer av interna länkar i lokala program:

  • Relativa interna länkar som pekar på en delad resurs i en lokal filstruktur som /claims/claims.html. Dessa länkar fungerar automatiskt i appar som publiceras via programproxy och fortsätter att fungera med eller utan länköversättning.
  • Hårdkodade interna länkar till andra lokala appar som http://expenses eller publicerade filer som http://expenses/logo.jpg. Länköversättningsfunktionen fungerar på hårdkodade interna länkar och ändrar dem så att de pekar på de externa URL:er som fjärranvändare behöver gå igenom.

Den fullständiga listan över attribut i HTML-kodtaggar som programproxy stöder länköversättning för omfattar:

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

Dessutom översätts URL-attributet i CSS.

Länköversättning är aktiverat för varje program, så att du har kontroll över användarupplevelsen på per app-nivå. Aktivera länköversättning för en app när du vill att länkarna från appen ska översättas, inte länkar till appen.

Anta till exempel att du har tre program publicerade via programproxy som alla länkar till varandra: Förmåner, Utgifter och Resor. Det finns en fjärde app, Feedback som inte publiceras via programproxy.

När du aktiverar länköversättning för appen Förmåner omdirigeras länkarna till Utgifter och resor till de externa URL:erna för dessa appar. Länken till Feedback omdirigeras dock inte eftersom det inte finns någon extern URL. Länkar från Utgifter och Resor tillbaka till förmåner fungerar inte, eftersom länköversättning inte är aktiverat för dessa två appar.

Links from Benefits to other apps when link translation is enabled

För att förbättra prestanda och säkerhet översätts inte vissa länkar:

  • Länkar som inte finns i kodtaggar.
  • Länkar som inte finns i HTML eller CSS.
  • Länkar i URL-kodat format.
  • Interna länkar som öppnats från andra program. Länkar som skickas via e-post eller snabbmeddelande, eller som ingår i andra dokument, översätts inte. Användarna måste känna till att gå till den externa URL:en.

Om du behöver stöd för något av dessa två scenarier använder du samma interna och externa URL:er i stället för länköversättning.

Det är lika enkelt att komma igång med länköversättning som att klicka på en knapp:

  1. Logga in på administrationscentret för Microsoft Entra som minst programadministratör.

  2. Bläddra till Identity>Applications Enterprise-program>>Alla program.

  3. Välj den app som du vill hantera.

  4. Aktivera Översätt URL:er i programtexten till Ja.

    Select Yes to translate URLs in application body

  5. Välj Spara för att införa ändringarna.

Nu, när dina användare kommer åt det här programmet, söker proxyn efter interna URL:er som publiceras via programproxy på din klientorganisation.

Nästa steg