diff --git a/app/code/Magento/PageCache/etc/varnish4.vcl b/app/code/Magento/PageCache/etc/varnish4.vcl index c8aa542906c9b..08f95e98005cb 100644 --- a/app/code/Magento/PageCache/etc/varnish4.vcl +++ b/app/code/Magento/PageCache/etc/varnish4.vcl @@ -22,6 +22,11 @@ acl purge { } sub vcl_recv { + # Sorting query string parameters + if (req.url ~ "\?.+&.+") { + set req.url = std.querysort(req.url); + } + if (req.method == "PURGE") { if (client.ip !~ purge) { return (synth(405, "Method not allowed")); diff --git a/app/code/Magento/PageCache/etc/varnish5.vcl b/app/code/Magento/PageCache/etc/varnish5.vcl index 9bf8268fa8713..a468d6e300333 100644 --- a/app/code/Magento/PageCache/etc/varnish5.vcl +++ b/app/code/Magento/PageCache/etc/varnish5.vcl @@ -23,6 +23,11 @@ acl purge { } sub vcl_recv { + # Sorting query string parameters + if (req.url ~ "\?.+&.+") { + set req.url = std.querysort(req.url); + } + if (req.method == "PURGE") { if (client.ip !~ purge) { return (synth(405, "Method not allowed")); diff --git a/app/code/Magento/PageCache/etc/varnish6.vcl b/app/code/Magento/PageCache/etc/varnish6.vcl index 7fa58b4809f8b..412983a5448df 100644 --- a/app/code/Magento/PageCache/etc/varnish6.vcl +++ b/app/code/Magento/PageCache/etc/varnish6.vcl @@ -27,6 +27,11 @@ sub vcl_recv { set req.hash_always_miss = true; } + # Sorting query string parameters + if (req.url ~ "\?.+&.+") { + set req.url = std.querysort(req.url); + } + if (req.method == "PURGE") { if (client.ip !~ purge) { return (synth(405, "Method not allowed")); diff --git a/app/code/Magento/PageCache/etc/varnish7.vcl b/app/code/Magento/PageCache/etc/varnish7.vcl index 3ac5990af8067..5a7e37f0472a1 100644 --- a/app/code/Magento/PageCache/etc/varnish7.vcl +++ b/app/code/Magento/PageCache/etc/varnish7.vcl @@ -27,6 +27,11 @@ sub vcl_recv { set req.hash_always_miss = true; } + # Sorting query string parameters + if (req.url ~ "\?.+&.+") { + set req.url = std.querysort(req.url); + } + if (req.method == "PURGE") { if (client.ip !~ purge) { return (synth(405, "Method not allowed"));