Verbindingen vormen

Het bestand routes.yaml in de map .magento/routes.yaml definieert routes voor uw Adobe Commerce op omgevingen voor integratie, staging en productie van cloudinfrastructuur. Routes bepalen hoe de toepassing binnenkomende HTTP- en HTTPS-aanvragen verwerkt.

Het standaard routes.yaml dossier specificeert de routesjablonen voor de verwerking van HTTP- verzoeken als HTTPS op projecten die één enkel standaarddomein en op projecten hebben die voor veelvoudige domeinen worden gevormd:

"http://{default}/":
    type: upstream
    upstream: "mymagento:http"
"http://{all}/":
    type: upstream
    upstream: "mymagento:http"

Gebruik magento-cloud CLI om een lijst van de gevormde routes te bekijken:

magento-cloud environment:routes

+-------------------+----------+---------------+
| Route             | Type     | To            |
+-------------------+----------+---------------+
| http://{default}/ | upstream | mymagento     |
+-------------------+----------+---------------+

Configuratie-updates voor Pro-omgevingen

WARNING
Sommige Pro projecten vereisen een steunkaartje om de routeconfiguratie in het routes.yaml dossier en de kroonconfiguratie in het .magento.app.yaml dossier bij te werken. De Adobe adviseert het bijwerken van en het testen van de configuratiedossiers van YAML in een milieu van de Integratie, dan het opstellen van veranderingen in het het Opvoeren milieu. Als uw veranderingen niet op het Opvoeren plaatsen na u worden toegepast en er geen verwante foutenmeldingen in het logboek zijn, dan MOET u een kaartje van de Steun van Adobe Commercevoorleggen dat de geprobeerd configuratieveranderingen beschrijft. Neem de bijgewerkte YAML-configuratiebestanden op in het ticket.

Route templates

Het bestand routes.yaml is een lijst met sjabloonroutes en hun configuraties. U kunt de volgende placeholders in routesjablonen gebruiken:

  • De tijdelijke aanduiding {default} vertegenwoordigt de gekwalificeerde domeinnaam die als standaard voor het project is geconfigureerd.

    Bijvoorbeeld een project met het standaarddomein example.com en de volgende routesjablonen:

    code language-text
    https://www.{default}/
    https://{default}/blog
    

    Deze sjablonen verwijzen naar de volgende URL's in een productieomgeving:

    code language-text
    https://www.example.com/
    https://example.com/blog
    
  • De tijdelijke aanduiding {all} vertegenwoordigt alle domeinnamen die voor het project zijn geconfigureerd.

    Bijvoorbeeld een project met example.com - en example1.com -domeinen met de volgende routesjablonen:

    code language-text
    https://www.{all}/
    
    https://{all}/blog
    

    Deze malplaatjes lossen aan de volgende routes voor alle domeinen in het project op:

    code language-text
    https://www.example.com/
    
    https://www.example1.com/
    
    https://example.com/blog
    
    https://example1.com/blog
    

    De tijdelijke aanduiding {all} is handig voor projecten die zijn geconfigureerd voor meerdere domeinen. In een niet-productietak, wordt {all} vervangen met project identiteitskaart en milieu identiteitskaart voor elk domein.

    Als voor een project geen domeinen zijn geconfigureerd, wat gebruikelijk is tijdens de ontwikkeling, gedraagt de tijdelijke aanduiding {all} zich op dezelfde manier als de tijdelijke aanduiding van {default} .

Adobe Commerce genereert ook routes voor elke actieve integratieomgeving. Voor integratieomgevingen wordt de tijdelijke aanduiding {default} vervangen door de volgende domeinnaam:

[branch]-[per-environment-random-string]-[project-id].[region].magentosite.cloud

De refactorcss -vertakking voor het mswy7hzcuhcjw -project dat wordt gehost in de us -cluster heeft bijvoorbeeld het volgende domein:

https://refactorcss-oy3m2pq-mswy7hzcuhcjw.us.magentosite.cloud/
NOTE
Als uw project van de Wolk veelvoudige opslag steunt, volg de instructies van de routeconfiguratie voor veelvoudige websites of opslag.

Sluitslash

De definities van de route bevatten een het slepen schuine streep om op een omslag of een folder te wijzen; nochtans, kan de zelfde inhoud met of zonder een het slepen schuine streep worden gediend. De volgende URLs lost het zelfde op maar kan als worden geïnterpreteerd twee verschillende URLs:

https://www.example.com/blog/

https://www.example.com/blog
TIP
Het is beste praktijken om een het slepen schuine streep voor folders te gebruiken, maar welke methode u kiest, is het belangrijk om verenigbaar te blijven vermijden producerend twee plaatsen.

Routeprotocollen

Alle omgevingen ondersteunen automatisch HTTP en HTTPS.

  • Als de configuratie alleen de HTTP-route opgeeft, worden automatisch HTTPS-routes gemaakt, zodat de site vanuit zowel HTTP als HTTPS kan worden bediend zonder dat omleidingen nodig zijn.

    Bijvoorbeeld, een project met het standaarddomein example.com en het volgende routesjabloon:

    code language-text
    http://{default}/
    

    Deze sjabloon verhelpt naar de volgende URL's:

    code language-text
    http://example.com/
    
    https://example.com/
    
  • Als de configuratie alleen de HTTPS-route opgeeft, leiden alle HTTP-aanvragen om naar HTTPS.

    Bijvoorbeeld, een project met het standaarddomein example.com met het volgende routesjabloon:

    code language-text
    https://{default}/
    

    Deze sjabloon wordt omgezet naar de volgende URL:

    code language-text
    https://example.com/
    

    Het verwerkt ook de volgende omleiding:

    http://example.com/ ==> https://example.com/

Geef alle pagina's weer via TLS. Voor deze configuratie, moet u redirects voor al unencrypted verzoek aan het equivalent TLS vormen gebruikend één van de volgende methodes:

  • Wijzig het protocol in HTTPS in het routes.yaml -bestand.

    code language-yaml
    "https://{default}/":
        type: upstream
        upstream: "mymagento:http"
    "https://{all}/":
        type: upstream
        upstream: "mymagento:http"
    
  • Voor het Opvoeren en de milieu's van de Productie, laat TLS op Fastlyoptie van Admin UI toe. Wanneer u deze optie gebruikt, handelt u snel de omleiding naar HTTPS af, zodat u de configuratie routes.yaml niet hoeft bij te werken.

Routopties

Vorm elke route afzonderlijk gebruikend de volgende eigenschappen:

Eigenschap
Beschrijving
type: upstream
Dient een toepassing uit. De eigenschap upstream heeft ook een eigenschap die de naam van de toepassing opgeeft (zoals gedefinieerd in .magento.app.yaml ) gevolgd door het eindpunt :http .
type: redirect
Omleidt aan een andere route. Deze wordt gevolgd door de eigenschap to , die een HTTP-omleiding is naar een andere route die door de sjabloon ervan wordt aangegeven.
cache:
Controles caching voor de route.
redirects:
De controles richten regelsopnieuw.
ssi:
Controles toelatend van Zijde van de Server omvat.

Eenvoudige routes

In de volgende voorbeelden leidt de routeconfiguratie het apex-domein en het www -subdomein naar de mymagento -toepassing. Deze route leidt HTTPS- verzoeken niet om.

Voorbeeld 1:

"http://{default}/":
    type: upstream
    upstream: "mymagento:http"

"http://www.{default}/":
    type: redirect
    to: "http://{default}/"

In dit voorbeeld, volgt het verzoek die deze regels verplettert:

  • De server reageert rechtstreeks op aanvragen met het volgende URL-patroon:

    code language-text
    http://example.com/path
    
  • De server geeft a 301 opnieuw richt voor verzoeken met het volgende patroon URL uit:

    code language-text
    http://www.example.com/mypath
    

    Deze verzoeken worden bijvoorbeeld omgeleid naar het ex-domein:

    code language-text
    http://example.com/mypath
    

In het volgende voorbeeld, richt de routeconfiguratie geen URLs van het www domein aan het apex domein. In plaats daarvan, worden de verzoeken gediend van zowel www als apex domein.

Voorbeeld 2:

"http://{default}/":
    type: upstream
    upstream: "mymagento:http"

"http://www.{default}/":
    type: upstream
    upstream: "mymagento:http"

Jokerroutes

Adobe Commerce op cloudinfrastructuur ondersteunt jokertekenroutes, zodat u meerdere subdomeinen aan dezelfde toepassing kunt toewijzen. Dit werkt voor omleiding en stroomopwaartse routes. U voegt een sterretje (*) toe aan de route. Met de volgende routes naar bijvoorbeeld dezelfde toepassing:

  • *.example.com
  • www.example.com
  • blog.example.com
  • us.example.com

Dit werkt als een 'catch-all'-domein in een live omgeving.

Het verpletteren van een niet in kaart gebracht domein

U kunt aan een systeem leiden dat niet aan een domein gebruikend een punt (.) in kaart wordt gebracht om subdomain te scheiden.

Voorbeeld:

Een project met een vertakking add-theme leidt naar de volgende URL:

http://add-theme-projectID.us.magento.com/

Als u het volgende routesjabloon definieert:

http://www.{default}/

De route lost aan volgende URL op:

http://www.add-theme-projectID.us.magento.com/

U kunt elk subdomein invoegen voordat de punt en de route worden omgezet.

Voorbeeld:

Bepaal het volgende routesjabloon:

http://*.{default}/

Deze sjabloon verhelpt beide volgende URL's:

http://foo.add-theme-projectID.us.magentosite.cloud/
http://bar.add-theme-projectID.us.magentosite.cloud/

U kunt het routepatroon voor niet in kaart gebrachte domeinen bekijken door een verbinding van SSH aan het milieu te vestigen, en magento-cloud CLI te gebruiken om van de routes een lijst te maken:

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}/                                         |
+------------------------------------------+--------------------------------------------------------------+

Omleiding en caching

Zoals besproken in meer detail in richtopnieuw, kunt u complexe redirection regels, zoals gedeeltelijke herleidingen beheren, en regels voor route-gebaseerd cachingspecificeren:

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
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26