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.com
och följande flödesmallar:code language-text https://www.{default}/ https://{default}/blog
Mallarna 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.com
ochexample1.com
domäner med följande vägmallar:code language-text https://www.{all}/ https://{all}/blog
Mallarna 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/blog
Platshå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.com
och 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.com
med 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: upstream
upstream
som anger programmets namn (enligt definition i .magento.app.yaml
) följt av slutpunkten :http
.type: redirect
to
, 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/mypath
De 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.com
www.example.com
blog.example.com
us.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