커맨드 라인 curl로 SSL 포트를 지정하는 방법은 무엇입니까?


10

내 서버 중 하나에서 SSL 연결을 테스트하려고합니다. 서버는 LB 뒤에 있으므로 포트 8090에서 SSL 연결을 수신 대기합니다.

--resolve포트 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과 함께갑니다. 물론 이것은 DNS 캐시를 놓치고 공용 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이 SSL 연결에 포트 8090을 사용하도록하려면 어떻게해야합니까?

감사.


1
이상한 ... 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

흥미롭게도 마지막으로 7.29DEV 버전을 설치 한 것처럼 보입니다 (문제 일 수 있음). 테스트 해 주셔서 감사합니다.
Nicolas GUILLAUME

문제가 해결되었습니다. 실제로 헤더를 삭제하는 컬 요청을 구성하는 데 사용하는 도구에서 나온 것입니다 ... 시간 내 주셔서 감사합니다. 내가 :) 그것을 받아 들일 수 있도록 답변을 게시하시기 바랍니다
니콜라스 GUILLAUME

고마워, 그것은 대답의 많은 느낌이 들지 않았지만 적어도 문제를 찾기 위해 다른 곳을 찾게했습니다.
Michael-sqlbot

답변:


2

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으로 테스트되었으며 --resolve헤더는 https 및 비표준 포트에서 예상대로 작동합니다. 두 곳 모두에서 지정됩니다.


3

문제 --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'
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.