VTEX Speed erro em protocolo HTTPS

Olá alguém já enfrentou esse erro e conseguiu solucionar no VTEX Speed?

Quando mudo o protocolo da pasta para somente HTTPS:

Capturar

O Grunt gera o seguinte erro:

Fatal error: Cannot set property 'content-length' of null

Olá,

Alguém já encontrou uma solução?

Buenos días

Nosotros descargamos el último paquete de Vtex speed versión 4.0.0 en: https://github.com/vtex/speed donde se suponía que tenía una mejora para las cuentas que ya están certificadas con HTTPS, pero cuando realizamos toda la instalación, no cargan los estilos del sitio ni javascript. ¿Alguien podría indicarnos cómo hacer que funcione bien para HTTPS?, pues VtexSpeed es muy necesario para nosotros pues no dependemos del caché del sistema y podemos ser más ágiles a la hora de trabajar.

Quedamos atentos.

Saludos.

Fala, @Lucas Santos. Aparentemente, isso pode ter acontecido nessa linha[1]. Nós não estamos ativamente mantendo essa ferramenta por estarmos dando força total para liberar acesso à nova plataforma, mas você pode clonar esse repositório e investigar se esse é de fato o problema. Se for, você pode resolver inicializando a variável com um objeto vazio se ele ainda for nulo. Se isso resolver, agradecemos o pull request!

​Se esse não for o problema, pinga de novo aqui que tentamos resolver juntos. Abraços!

[1]: https://github.com/vtex/speed/blob/a599f27c9623ca36bf01362b7b46be2a3dbc056c/speed-middleware.coffee#L36

Opá @Guilherme Rodrigues​ Fiz algumas modificações na variável e sem sucesso... Poderia explicar melhor a forma que você falou sobre Você pode resolver inicializando a variável com um objeto vazio se ele ainda for nulo Abraço.

@Lucas Santos e @Guilherme Rodrigues​ eu realizei a seguinte alteração:

Captura de Tela 2017-07-04 às 12.32.13

Agora o erro retornado é:

Fatal error: Invalid status code: 0

Acredito que como declaramos um objeto vazio ele não tem nenhuma informação de status na resposta. Porém eu trabalhei muito pouco com coffee, tem alguma dica de como debugar o código @Guilherme Rodrigues? No node eu utilizava o node-debug.

Isso já ajudaria bastante.

Galera, acredito que o problema é que a função `res.writeHead` não é chamada quando o protocolo é HTTPS. Por isso ambas as variáveis não são inicializadas. Na verdade, pensando agora acho que a solução correta é simplesmente pular o `writeHead` dentro de `end` se não houver proxiedStatusCode e proxiedHeaders, ou seja, apenas enviar o end diretamente com a resposta toda. Talvez algo assim:

# Restore res properties res.write = write res.end = end res.writeHead = writeHead proxiedHeaders['content-length'] = Buffer.byteLength(data) if proxiedStatusCode and proxiedHeaders res.writeHead proxiedStatusCode, proxiedHeaders res.end data, encoding

@Guilherme Rodrigues realizando a alteração que mencionou voltamos ao:

Fatal error: Cannot set property 'content-length' of null

Opá @Guilherme Rodrigues​ estou recebendo o mesmo erro que o

@Mateus Augusto Saggin​

Fatal error: Cannot set property 'content-length' of null

Mesmo problema aqui.... e toda a loja está no https... não funciona mais nada do vtex speed.

Alguém conseguiu uma solução?

@William Angélico não consegui nada aqui.

Não sei se o pessoal da Vtex conseguiu alguma solução para este problema.

Opa, galera! Mal, tinha um erro naquela sugestão.

Não podemos acessar a variável proxiedHeaders por que ela de fato não existe. É só colocar esse acesso dentro do if:

# Restore res properties res.write = write res.end = end res.writeHead = writeHead if proxiedStatusCode and proxiedHeaders proxiedHeaders['content-length'] = Buffer.byteLength(data) res.writeHead proxiedStatusCode, proxiedHeaders res.end data, encoding

​Podem tentar isso?

O erro não aparece mais, mas agora aparece a seguinte tela

Capturar

e se clico no link aparece ERR_CONNECTION_RESET

Capturar2

Galera, infelizmente não consigo ver isso agora mas vou olhar no domingo e respondo aqui na segunda, ok?

Aqui ocorreu o mesmo.

@Guilherme Rodrigues​ tranquilo. Muito obrigado.

Oi, galera.

Investiguei isso ontem e cheguei na causa do problema. Aparentemente, a ferramenta que usamos para proxy não lida bem com o fato do header Location em um redirect conter o hostname todo, ao invés de um path relativo.

Só não tive tempo ainda para dar um fix decente, mas pretendo fazer isso em breve e publico uma versão nova da ferramenta para vocês testarem. Mais infos já já :)

@Guilherme Rodrigues​ show! Obrigado.

Ficamos no aguardo.

@Guilherme Rodrigues​ Opá, Feito!

Fala, galera! Lancei um `speed@4.0.0` com o qual eu consegui rodar no `vtexlocal` a loja `connectparts`. Vocês podem verificar se funciona pras suas lojas?

https://github.com/vtex/speed

@Lucas Santos​ @Mateus Augusto Saggin​ @William Angélico​