Konfigurera flöden
Filen routes.yaml i katalogen .magento/routes.yaml definierar vägar för din Adobe Commerce i molninfrastruktur för integrering, mellanlagring och produktion. Rutorna avgör hur programmet hanterar inkommande HTTP- och HTTPS-begäranden.
Standardfilen routes.yaml anger flödesmallarna för bearbetning av HTTP-begäranden som HTTPS i projekt som har en enda standarddomän och i projekt som har konfigurerats för flera domäner:
"http://{default}/":
type: upstream
upstream: "mymagento:http"
"http://{all}/":
type: upstream
upstream: "mymagento:http"
Använd CLI:n för magento-cloud för att visa en lista över konfigurerade vägar:
magento-cloud environment:routes
+-------------------+----------+---------------+
| Route | Type | To |
+-------------------+----------+---------------+
| http://{default}/ | upstream | mymagento |
+-------------------+----------+---------------+
Konfigurationsuppdateringar för Pro-miljöer
routes.yaml och i cron-konfigurationen i filen .magento.app.yaml. Adobe rekommenderar att du uppdaterar och testar YAML-konfigurationsfiler i en integreringsmiljö och sedan distribuerar ändringar i mellanlagringsmiljön. Om dina ändringar inte tillämpas på mellanlagringswebbplatser efter att du har omdistribuerat och det inte finns några relaterade felmeddelanden i loggen, MÅSTE Skicka en Adobe Commerce-supportanmälan som beskriver de konfigurationsändringar du har gjort. Inkludera eventuella uppdaterade YAML-konfigurationsfiler i biljetten.Flödesmallar
Filen routes.yaml är en lista över mallvägar och deras konfigurationer. Du kan använda följande platshållare i flödesmallar:
-
Platshållaren
{default}representerar det kvalificerade domännamnet som konfigurerats som standard för projektet.Ett projekt med standarddomänen
example.comoch följande flödesmallar:code language-text https://www.{default}/ https://{default}/blogMallarna matchar följande URL:er i en produktionsmiljö:
code language-text https://www.example.com/ https://example.com/blog -
Platshållaren
{all}representerar alla domännamn som konfigurerats för projektet.Ett projekt med till exempel
example.comochexample1.comdomäner med följande vägmallar:code language-text https://www.{all}/ https://{all}/blogMallarna matchar följande vägar för alla domäner i projektet:
code language-text https://www.example.com/ https://www.example1.com/ https://example.com/blog https://example1.com/blogPlatshållaren
{all}är användbar för projekt som konfigurerats för flera domäner. I en icke-produktionsgren ersätts{all}med projekt-ID och miljö-ID för varje domän.Om ett projekt inte har några konfigurerade domäner, som är vanliga under utvecklingen, fungerar platshållaren
{all}på samma sätt som platshållaren{default}.
Adobe Commerce genererar också vägar för alla aktiva integreringsmiljöer. För integreringsmiljöer ersätts platshållaren {default} med följande domännamn:
[branch]-[per-environment-random-string]-[project-id].[region].magentosite.cloud
refactorcss-grenen för mswy7hzcuhcjw-projektet i us-klustret har till exempel följande domän:
https://refactorcss-oy3m2pq-mswy7hzcuhcjw.us.magentosite.cloud/
Snedstreck
Flödesdefinitioner innehåller ett avslutande snedstreck som anger en mapp eller katalog, men samma innehåll kan hanteras med eller utan ett avslutande snedstreck. Följande URL:er matchar, men kan tolkas som två olika URL
https://www.example.com/blog/
https://www.example.com/blog
Cirkulationsprotokoll
Alla miljöer stöder både HTTP och HTTPS automatiskt.
-
Om konfigurationen bara anger HTTP-vägen skapas HTTPS-vägar automatiskt så att platsen kan hanteras från både HTTP och HTTPS utan att omdirigeringar krävs.
Ett projekt med standarddomänen
example.comoch följande flödesmall:code language-text http://{default}/Den här mallen matchar följande URL
code language-text http://example.com/ https://example.com/ -
Om konfigurationen bara anger HTTPS-vägen dirigeras alla HTTP-begäranden om till HTTPS.
Ett projekt med standarddomänen
example.commed följande flödesmall:code language-text https://{default}/Den här mallen matchar följande URL:
code language-text https://example.com/Dessutom bearbetas följande omdirigering:
http://example.com/==>https://example.com/
Hantera alla sidor via TLS. För den här konfigurationen måste du konfigurera omdirigeringar för alla okrypterade begäranden till TLS-motsvarigheten med någon av följande metoder:
-
Ändra protokollet till HTTPS i filen
routes.yaml.code language-yaml "https://{default}/": type: upstream upstream: "mymagento:http" "https://{all}/": type: upstream upstream: "mymagento:http" -
För mellanlagrings- och produktionsmiljöer aktiverar du alternativet Tvinga TLS snabbt i administratörsgränssnittet. När du använder det här alternativet hanterar omdirigeringen snabbt till HTTPS, så du behöver inte uppdatera konfigurationen för
routes.yaml.
Flödesalternativ
Konfigurera varje väg separat med följande egenskaper:
type: upstreamupstream som anger programmets namn (enligt definition i .magento.app.yaml) följt av slutpunkten :http.type: redirectto, som är en HTTP-omdirigering till en annan väg som identifieras av dess mall.cache:redirects:ssi:Enkla vägar
I följande exempel dirigerar vägkonfigurationen den överordnade domänen och www-underdomänen till mymagento-programmet. Den här vägen dirigerar inte om HTTPS-begäranden.
Exempel 1:
"http://{default}/":
type: upstream
upstream: "mymagento:http"
"http://www.{default}/":
type: redirect
to: "http://{default}/"
I det här exemplet följer routningen av begäran följande regler:
-
Servern svarar direkt på begäranden med följande URL-mönster:
code language-text http://example.com/path -
Servern utfärdar en 301 omdirigering för begäranden med följande URL-mönster:
code language-text http://www.example.com/mypathDe här förfrågningarna omdirigerar till den vanliga domänen, till exempel:
code language-text http://example.com/mypath
I följande exempel omdirigerar vägkonfigurationen inte URL:er från www-domänen till apex-domänen. I stället hanteras förfrågningar från både www- och apex-domänen.
Exempel 2:
"http://{default}/":
type: upstream
upstream: "mymagento:http"
"http://www.{default}/":
type: upstream
upstream: "mymagento:http"
Jokerrutter
Adobe Commerce i molninfrastrukturen har stöd för jokerrutter, så du kan mappa flera underdomäner till samma program. Detta fungerar för omdirigerings- och uppströms-vägar. Du prefix vägen med en asterisk (*). Följande dirigerar till exempel till samma program:
*.example.comwww.example.comblog.example.comus.example.com
Detta fungerar som en"catch-all"-domän i en live-miljö.
Routning av en domän som inte är mappad
Du kan dirigera till ett system som inte är mappat till en domän med hjälp av en punkt (.) för att separera underdomänen.
Exempel:
Ett projekt med en add-theme-gren dirigerar till följande URL:
http://add-theme-projectID.us.magento.com/
Om du definierar följande flödesmall:
http://www.{default}/
Vägen matchar följande URL:
http://www.add-theme-projectID.us.magento.com/
Du kan infoga valfri underdomän innan punkten och flödet löses.
Exempel:
Definiera följande flödesmall:
http://*.{default}/
Den här mallen löser båda följande URL
http://foo.add-theme-projectID.us.magentosite.cloud/
http://bar.add-theme-projectID.us.magentosite.cloud/
Du kan visa ruttmönstret för icke-mappade domäner genom att upprätta en SSH-anslutning till miljön och använda CLI magento-cloud för att lista rutterna:
vendor/bin/ece-tools env:config:show routes
Magento Cloud Routes:
+------------------------------------------+--------------------------------------------------------------+
| Route configuration | Value |
+------------------------------------------+--------------------------------------------------------------+
| http://www.add-theme-projectID.us.magento.com/: |
+------------------------------------------+--------------------------------------------------------------+
| primary | false |
| id | null |
| attributes | |
| type | upstream |
| to | mymagento |
| original_url | https:/{default}/ |
+------------------------------------------+--------------------------------------------------------------+
| https://*.add-theme-projectID.us.magentosite.cloud/: |
+------------------------------------------+--------------------------------------------------------------+
| primary | false |
| id | null |
| attributes | |
| type | upstream |
| to | mymagento |
| original_url | https://*.{default}/ |
+------------------------------------------+--------------------------------------------------------------+
Omdirigering och cachelagring
Som beskrivs mer ingående i Omdirigeringar kan du hantera komplexa omdirigeringsregler, till exempel partiella omdirigeringar, och ange regler för flödesbaserad cachning:
https://www.{default}/:
type: redirect
to: https://{default}/
https://{default}/:
cache:
cookies: [""]
default_ttl: 0
enabled: true
headers:
- Accept
- Accept-Language
ssi:
enabled: false
type: upstream
upstream: mymagento:http