¿Cómo especificar el puerto SSL con línea de comando curl?


9

Estoy tratando de probar la conexión SSL en uno de mis servidores. El servidor está detrás de un LB, por lo que está escuchando conexiones SSL en el puerto 8090.

Tengo la --resolveopción de probar cuando hablo con el LB que escucha en el puerto 443.

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

pero cuando lo hago:

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

curl simplemente ignora el puerto y va con 443. Por supuesto, esto hace que el caché de DNS se pierda y termino usando la IP de DNS pública ...

* 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)

¿Cómo puedo forzar a curl para que use el puerto 8090 para una conexión SSL?

Gracias.


1
Extraño ... funciona como se esperaba para mí en 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

Interesante, voy a actualizar mi curl, parece que instalé la versión 7.29DEV la última vez (ese podría ser el problema). Gracias por probar
Nicolas GUILLAUME

Bien, el problema está solucionado, en realidad provenía de una herramienta que utilicé para construir la solicitud de rizo que estaba soltando el encabezado ... Gracias por su tiempo. Por favor, publique una respuesta para que pueda aceptarla :)
Nicolas GUILLAUME

Gracias, no pareció una gran respuesta, pero al menos te hizo buscar en diferentes lugares para encontrar tu problema.
Michael - sqlbot

Respuestas:


1

Probado con 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, el --resolveencabezado funciona como se esperaba con https y un puerto no estándar especificado en ambos lugares.


3

Si --resolveno funciona, puede especificar el encabezado Host (es posible que deba suprimir las advertencias del certificado -k):

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

o con términos más detallados:

curl --insecure --header 'Host: myservice.com' 'https://2.2.2.2:8090'
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.