如何用命令行curl指定SSL端口?

我试图在我的一台服务器上testingSSL连接。 服务器位于LB后面,因此它正在侦听端口8090上的SSL连接。

我使用--resolve选项来testing与侦听端口443的LB交谈。

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

但是当我这样做:

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

curl只是忽略端口,并与443.当然,这导致DNScaching错过,我最终使用公共DNS IP …

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

如何强制curl使用端口8090进行SSL连接?

谢谢。

使用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.3testing,– --resolve头文件按照预期使用https和非在两个地方指定的标准端口。

如果--resolve没有解决,你可以指定主机头(你可能需要用-k来禁止证书警告):

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

或者更详细的术语:

 curl --insecure --header 'Host: myservice.com' 'https://2.2.2.2:8090'