curl 7.21 não chama corretamente um host com um cabeçalho de host em https

1

Descobrimos que chamar um host como seguir usando o curl 7.21 ou 7.24 produz um erro na configuração do apache (temos vários SSL Vhosts!). Considerando que o mesmo comando corre suave com onda 7.34 e superior. Alguém sabe por quê?

Comando: curl https://192.168.0.1/version -H "Host: example.domain.com" -k

Isso deve retornar uma versão como "1.2.1". Realmente faz com novos cachos (testado 7.34 e 7.38 / 39) mas retorna um 400 com onda de 7.21 / 7.24.

Ao executar com um curl antigo, o apache retorna isto:

[error] Hostname 192.168.0.1 provided via SNI and hostname example.domain.com provided via HTTP are different

Normalmente, eu pensei que isso poderia ser um problema devido a falta de suporte ao SNI no curl, mas eu li que o SNI já deveria ter sido adicionado ao curl 7.18.

    
por martinseener 10.11.2014 / 12:04

1 resposta

1

O comportamento descrito está correto. O SNI é baseado na URL ( 192.168.0.1 ), o cabeçalho HTTP do host é definido manualmente por você ( example.domain.com ).

Quando o Apache manipula este pedido, ele obtém 192.168.0.1 no SNI e usa a configuração para esse vhost (provavelmente padrão). No entanto, quando a carga é descriptografada, ela encontra um host diferente = > ERRO .

    
por 07.05.2015 / 15:12