Passe o cookie para a origem do CloudFront, mas impeça o cache

Estou usando o CloudFront como cache na frente do meu aplicativo da web Symfony. Para obter um cache com base na função do usuário (administrador, cliente, ...), giro um hash baseado na função do usuário em um gatilho de solicitação do Lambda @ Edge Viewer Request. Eu passo esse hash como cabeçalho de solicitação para minha origem comoX-User-Context-Hash.

Meu problema agora é que preciso passar oPHPSESSID cookie na minha origem para obter a resposta correta para o cache, mas não quero basear o cache no valor dePHPSESSID. Eu só preciso que minha resposta em cache seja baseada no valor deX-User-Context-Hash mas não no meu cookie de sessão.

A imagem abaixo deve explicar meu problema em detalhes

Existe alguma possibilidade de conseguir isso?

Gostaria de receber qualquer ajuda.

Aqui está o gatilho de solicitação do Lambda @ Edge Viewer Request:

'use strict';

function parseCookies(headers) {
    const parsedCookie = {};
    if (headers.cookie) {

        console.log(`${headers.cookie[0].value}`);

        headers.cookie[0].value.split(';').forEach((cookie) => {
            if (cookie) {
                const parts = cookie.split('=');
                parsedCookie[,parts[0].trim()] = parts[1].trim();
            }
        });
    }
    return parsedCookie;
}

exports.handler = (event, context, callback) => {
    const request = event.Records[0].cf.request;
    const headers = request.headers;

    const https = require('https');

    // Read session cookie
    const parsedCookies = parseCookies(headers);
    let cookie = '';
    if (parsedCookies) {
        if(parsedCookies['PHPSESSID']) {
            cookie = `PHPSESSID=${parsedCookies['PHPSESSID']}`;
        }
    }

    console.log(`Cookie: ${cookie}`);

    // Send request to origin host at /_fos_user_context_hash
    // passing the original session cookie
    const options = {
        hostname: `${request.headers.host[0].value}`,
        port: 443,
        path: '/_fos_user_context_hash',
        method: 'HEAD',
        headers: {
            'Cookie': cookie, 
            'Accept': 'application/vnd.fos.user-context-hash',
            'Vary' : 'Cookie'
        }
    };

    const req = https.request(options, (res) => {
      console.log('statusCode:', res.statusCode);
      console.log('headers:', res.headers);

      // Read the X-User-Context-Hash from the hash endpoint
      const headerName = 'X-User-Context-Hash';
      let hash = 'anonymous';

      if (res.headers[headerName.toLowerCase()]) {
        hash = res.headers[headerName.toLowerCase()];
      }

      // Append X-User-Context-Hash before passing request on to CF
      request.headers[headerName.toLowerCase()] = [{ key: headerName, value: hash }];  

      callback(null, request);

    }).on('error', (e) => {
      console.error(e);
      // Forward request anyway
      callback(null, request);
    });

    req.end();
}


;

questionAnswers(3)

yourAnswerToTheQuestion