Como especificar a porta SSL com ondulação da linha de comando?

9

Estou tentando testar a conexão SSL em um dos meus servidores. O servidor está atrás de um LB e, portanto, está escutando conexões SSL na porta 8090.

Eu usei a --resolveopção para testar ao conversar com o LB que escuta na porta 443.

curl --resolve 'myservice.com:443:1.1.1.1' 'https://myservice.com'

mas quando eu faço:

curl --resolve 'myservice.com:8090:2.2.2.2' 'https://myservice.com:8090'

o curl simplesmente ignora a porta e segue o 443. É claro que isso faz com que o cache do DNS falhe e eu termino usando o IP DNS público ...

* Added myservice.com:8090:2.2.2.2 to DNS cache
* About to connect() to myservice.com port 443 (#0)
*   Trying 3.3.3.3...
* Connected to myservice.com (3.3.3.3) port 443 (#0)

Como forçar o enrolamento a usar a porta 8090 para uma conexão SSL?

Obrigado.

Nicolas GUILLAUME
fonte
1
Strange ... funciona conforme o esperado para mim no curl 7.22.0 (x86_64-pc-linux-gnu) libcurl / 7.22.0 OpenSSL / 1.0.1 zlib / 1.2.3.4 libidn / 1.23 librtmp / 2.3
Michael - sqlbot
Interessante, eu vou atualizar meu curl, parece que eu instalei a versão 7.29DEV da última vez (esse pode ser o problema). Obrigado por testar.
Nicolas GUILLAUME
Tudo bem, o problema foi resolvido. Na verdade, ele vinha de uma ferramenta que eu utilizava para construir a solicitação de curvatura que estava soltando o cabeçalho ... Obrigado pelo seu tempo. Por favor, postar uma resposta para que eu possa aceitá-lo :)
Nicolas GUILLAUME
Obrigado, não parecia uma resposta muito boa, mas pelo menos fazia você procurar em lugares diferentes para encontrar o seu problema.
Michael - sqlbot

Respostas:

1

Testado com curl 7.22.0 (x86_64-pc-linux-gnu) libcurl / 7.22.0 OpenSSL / 1.0.1 zlib / 1.2.3.4 libidn / 1.23 librtmp / 2.3, o --resolvecabeçalho funciona conforme o esperado com https e uma porta não padrão especificado em ambos os lugares.

Michael - sqlbot
fonte
3

Se --resolvenão estiver funcionando, você pode especificar o cabeçalho Host (talvez seja necessário suprimir os avisos de certificado -k):

curl -k -H 'Host: myservice.com' 'https://2.2.2.2:8090'

ou com termos mais detalhados:

curl --insecure --header 'Host: myservice.com' 'https://2.2.2.2:8090'
Mathias R. Jessen
fonte