Anpassad VCL för att tillåta begäranden

Du kan använda en lista med snabb Edge ACL med ett anpassat VCL-kodfragment för att filtrera inkommande begäranden och tillåta åtkomst via IP-adress. ACL-listan anger vilka IP-adresser som tillåts.

Skapa en tillåtelselista för att begränsa åtkomsten till mellanlagringsmiljön så att endast begäranden från angivna IP-adresser för interna utvecklare och godkända externa tjänster tillåts. Du kan också skapa en tillåtelselista för säker åtkomst till Admin i mellanlagrings- och produktionsmiljöer.

I följande exempel visas hur du använder ett anpassat VCL-fragment med en snabbåtkomstkontrollista (ACL) för att skydda åtkomsten till Admin för en Adobe Commerce-projektmiljö i molnet. När du lägger till det anpassade VCL-fragmentet i molnmiljön tillåter snabbast endast begäranden från IP-adresser som ingår i åtkomstkontrollistan.

TIP
För mellanlagrings- och integreringsmiljöer som inte ska vara allmänt tillgängliga använder du alternativet för HTTP-åtkomstkontroll i Cloud Console för att hantera åtkomst till hela platsen via IP-adress.

Förutsättningar:

  • Miljön måste vara konfigurerad att använda snabbnätverket för CDN. Se Konfigurera snabbtjänster.

  • Se till att du använder den senaste versionen av Snabbt CDN-modulen för Magento 2. Se Uppgradera snabbmodulen.

  • Kontrollera miljökonfigurationen för tjänsten Snabbt. Se Kontrollera cachelagring snabbt.

  • Du måste ha administratörsbehörighet för att få tillgång till förproduktionsmiljöer.

  • Lista över IP-adresser för klienter som ska inkluderas i tillåtelselista

Skapa Edge ACL för att tillåta klient-IP-adresser

Edge ACL:er skapar IP-adresslistor för att hantera åtkomst till din webbplats. I det här exemplet skapar du en Edge ACL och lägger till listan över IP-adresser för klienter som har åtkomst till Admin för din projektmiljö.

  1. Logga in i administratören.

  2. Klicka på Lagrar > Inställningar > Konfiguration > Avancerat > System.

  3. Expandera Helsidescache > Snabb konfiguration > Edge ACL.

  4. Skapa ACL-behållaren:

    • Klicka på Lägg till ACL.

    • Ange ett ACL-namnallowlist på sidan ACL-behållare.

    • Välj Aktivera efter ändringen om du vill distribuera ändringarna till den version av snabbtjänstkonfigurationen som du redigerar.

    • Klicka på Överför för att ansluta åtkomstkontrollistan till din snabbtjänstkonfiguration.

  5. Lägg till listan över IP-adresser som kan få åtkomst till administratören:

    • Klicka på inställningsikonen för allowlist ACL.

    • Lägg till och spara IP-värdet för varje klient-IP-adress.

    • Klicka på Avbryt för att återgå till systemkonfigurationssidan.

  6. Klicka på Spara konfiguration.

  7. Uppdatera cacheminnet enligt meddelandet längst upp på sidan.

Skapa ett anpassat VCL-fragment för att skydda administratörsåtkomsten

Följande anpassade VCL-kodfragment (JSON-format) visar logiken för att filtrera begäranden till administratören och tillåta åtkomst om klientens IP-adress matchar en adress i allowlist ACL.

{
  "name": "allowlist",
  "dynamic": "0",
  "type": "recv",
  "priority": "5",
  "content": "if ((req.url ~ \"^/admin\") && !(client.ip ~ allowlist) && !req.http.Fastly-FF) { error 403 \"Forbidden\"; }"
}

Innan du skapar ett anpassat fragment från det här exemplet bör du kontrollera värdena för att avgöra om du behöver göra några ändringar. Ange sedan varje värde i respektive fält, till exempel type, i fältet Typ content i fältet Innehåll.

  • name - VCL-fragmentets namn. I det här exemplet: allowlist.

  • priority - Avgör när VCL-fragmentet körs. Prioriteten är 5 för att omedelbart köra och kontrollera om en Admin-begäran kommer från en tillåten IP-adress. Utdraget körs före något av de Magento VCL-standardfragment (magentomodule_*) som tilldelats en prioritet på 50. Ange prioriteten för varje anpassat fragment som är högre eller lägre än 50, beroende på när du vill att fragmentet ska köras. Fragment med lägre prioritetsnummer körs först.

  • type - Anger en plats där fragmentet ska infogas i den versionshanterade VCL-koden. Denna VCL är en recv-fragmenttyp som lägger till fragmentkoden i vcl_recv-underrutinen nedanför den förvalda snabbvariga VCL-koden och ovanför eventuella objekt.

  • content - Det VCL-kodfragment som ska köras. I det här exemplet filtrerar koden förfrågningar till administratören och tillåter åtkomst om klientens IP-adress matchar en adress i allowlist ACL. Om adressen inte matchar blockeras begäran med ett 403 Forbidden-fel.

    Om URL:en för din administratör har ändrats ska du ersätta exempelvärdet /admin med URL:en för din miljö. Exempel: /company-admin.

I kodexemplet är villkoret !req.http.Fastly-FF viktigt när du använder Origin Shielding. Ta inte bort eller redigera den här koden.

När du har granskat och uppdaterat koden för din miljö använder du någon av följande metoder för att lägga till det anpassade VCL-fragmentet i din snabbtjänstkonfiguration:

Lägg till anpassat VCL-fragment

  1. Logga in i administratören.

  2. Klicka på Lagrar > Inställningar > Konfiguration > Avancerat > System.

  3. Expandera Helsidescache > Snabb konfiguration > Anpassade VCL-kodfragment.

  4. Klicka på Skapa anpassat fragment.

  5. Lägg till VCL-fragmentvärden:

    • Namnallowlist

    • Typrecv

    • Prioritet5

    • Lägg till VCL-fragmentinnehållet:

      code language-conf
      if ((req.url ~ "^/admin") && !(client.ip ~ allowlist) && !req.http.Fastly-FF) { error 403 "Forbidden";}
      
  6. Klicka på Skapa om du vill generera VCL-utdragsfilen med namnmönstret type_priority_name.vcl, till exempel recv_5_allowlist.vcl

  7. När sidan har lästs in på nytt klickar du på Överför VCL till Snabbt i avsnittet Snabbkonfiguration för att lägga till filen i snabbtjänstkonfigurationen.

  8. När överföringen är klar uppdaterar du cacheminnet enligt meddelandet längst upp på sidan.

Snabbt validerar den uppdaterade versionen av VCL-koden under överföringsprocessen. Om valideringen misslyckas kan du åtgärda problemet genom att redigera det anpassade VCL-fragmentet. Ladda sedan upp VCL-filen igen.

Ändra det anpassade VCL-fragmentet

  1. Logga in i administratören.

  2. Klicka på Lagrar > Inställningar > Konfiguration > Avancerat > System.

  3. Expandera Helsidescache > Snabb konfiguration > Anpassade VCL-kodfragment.

    Hantera anpassade VCL-fragment

  4. Klicka på inställningsikonen bredvid det fragment som du vill redigera i kolumnen Åtgärd .

  5. När sidan har lästs in på nytt klickar du på Överför VCL till Snabbt i avsnittet Snabbkonfiguration.

  6. När överföringen är klar uppdaterar du cacheminnet enligt meddelandet längst upp på sidan.

WARNING
Gränssnittsalternativet Anpassade VCL-fragment visar bara de fragment som lagts till via Adobe Commerce Admin. Om du lägger till fragment med API:t Snabb använder du API:t för att hantera dem.

Ta bort det anpassade VCL-fragmentet

  1. Logga in i administratören.

  2. Klicka på Lagrar > Inställningar > Konfiguration > Avancerat > System.

  3. Expandera Helsidescache > Snabb konfiguration > Anpassade VCL-kodfragment.

    Hantera anpassade VCL-fragment

  4. I kolumnen Åtgärd klickar du på papperskorgsikonen bredvid fragmentet som ska tas bort.

  5. Klicka på DELETE i nästa modala fönster och aktivera en ny version.

WARNING
Gränssnittsalternativet Anpassade VCL-fragment visar bara de fragment som lagts till via Adobe Commerce Admin. Om du lägger till fragment med API:t Snabb använder du API:t för att hantera dem.
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26