Utcheckningen misslyckas när JS-miniatyr och paketering är aktiverat
I den här artikeln finns en patch för Adobe Commerce-problemet som förhindrar att utcheckningen fungerar korrekt när minification, bundling och (i vissa fall) merging av JavaScript (JS)-resurser är aktiverade.
Beskrivning description
Miljö
Adobe Commerce, alla distributionsmetoder.
Problem/symtom
De senaste ändringarna av CSP-funktionen (Content Security Policy) har gjort att utcheckningsfunktionen inte fungerar när minification, bundling och, i vissa fall, sammanfogning av JS-resurser har aktiverats. Den här utgåvan kan helt blockera orderplaceringen på butiken.
Berörda produkter och versioner
Magento Open Source och Adobe Commerce (alla distributionsmetoder):
- 2.4.4-p16
- 2.4.5-p15
- 2.4.6-p13
- 2.4.7-p8
- 2.4.8-p3
Steg som ska återskapas:
-
Kontrollera att CSP-modulen är aktiverad.
-
Växla till produktionsläge och aktivera miniatyr- och paketering av JS-resurser.
-
Distribuera statiskt innehåll och tömma cache.
-
Navigera till butiken och försök att lägga en order.
-
Kontrollera om det finns JS-fel i webbläsarkonsolen under varje steg i utcheckningsflödet.
- Om fel uppstår eller utcheckningen misslyckas explicit påverkas arkivet.
- Om det inte finns några fel och det går att placera beställningar kontrollerar du om
mixins.min.jsfinns på sidan Utcheckning. Ommixins.min.jssaknas, men utcheckningen fungerar, finns problemet men det påverkar inte butiken.
Orsak
Ändringar i CSP-funktionen resulterade i felaktig generering av SRI-hashar (Subresource Integrity) för minifierade JS-filer när paketering är aktiverat på grund av felaktiga filsökvägar.
Detta förhindrade i sin tur mixins.min.js och static.min.js från att återges korrekt på sidan Utcheckning, vilket orsakade olika fel under orderplaceringen.
Upplösning resolution
Lager som körs på någon av de berörda versionerna bör använda motsvarande korrigeringsfil för att lösa problemet.
- För version 2.4.4-p16
- För version 2.4.5-p15
- För versionerna 2.4.6-p13 och 2.4.7-p8
- För version 2.4.8-p3
Dessa korrigeringar inverterar de CSP-relaterade ändringar som nämns ovan och återställer CSP-funktionen till dess tillstånd innan dessa ändringar.
Obs! Om du använder dessa korrigeringar återinförs vissa tidigare kända problem som rör SRI-funktionen:
- I version 2.4.7-p8 och tidigare cachelagras SRI-hash igen i stället för att lagras i
sri-hashes.json. - I version 2.4.8-p3 och tidigare kommer inte paketerade/sammanfogade JS-resurser att genomgå någon hash-validering av integriteten.
- Molninstanser i version 2.4.8-p3 kan ha felaktigt genererade
sri-hashes.jsonfiler som innehåller SRI-hash-värden endast för en bråkdel av JS-resurserna.
Så här sätter du på plåstret
Zippa upp filen och se Använda en kompositkorrigering från Adobe för mer information.