컬 --resolve는 아무것도 하지 않는 것 같습니다

컬 --resolve는 아무것도 하지 않는 것 같습니다

--help컬의 출력에는 --resolve다음과 같은 옵션이 나열됩니다.

--resolve <host:port:address> Force resolve of HOST:PORT to ADDRESS

그러나 나는 그것을 작동시킬 행운이 없습니다. 내가 실행하려는 기본 명령은 다음과 같습니다.

curl --resolve foo.example.com:443:localhost https://foo.example.com:443/

계속해서 응답을 받았어요 Couldn't resolve host 'foo.example.com'. foo.example.com에 대한 인증서를 테스트하고 있기 때문에 이렇게 하고 싶은데 실제 서버에서는 테스트하는 것이 아닙니다. 대신 가상 머신에서 테스트하고 있습니다. foo.example.com이 localhost로 확인되도록 편집할 수 있다는 것을 알고 있지만 /etc/hosts작동하게 할 수 있다면 이 컬 방법이 "올바른" 방법인 것 같습니다.

내가 여기서 뭘 잘못하고 있는지 아는 사람이 있나요?

답변1

address호스트 이름이 아닌 숫자 IP 주소여야 하는 것 같습니다 .

이 시도:

curl --resolve foo.example.com:443:127.0.0.1 https://foo.example.com:443/

답변2

문제 해결에 대한 추가 도움말:

올바른 프로토콜 포트를 나열했는지 확인하세요(http=80; 등).

curl -v응답 서버의 헤더 정보 도 제공되므로 도움이 될 수 있습니다.

$ curl -v --resolve foo.example.com:443:127.0.0.1 https://foo.example.com:443/
## The client request headers prepended by >
> OPTIONS /v1/..
> HOSTS foo.example.com
## The server response prepended by <
< HTTP/1.1 501 Not Implemented
## The html returned
<H1>Unsupported Request</H1>

기본적으로 이 경우 OPTIONS HTTPCDN의 엣지 서버에서는 해당 방법이 구현되지 않습니다.

답변3

나는 같은 문제를 가지고있다. 이상하지만 버전에 따라 다른 것 같습니다. 한 서버 curl --manual | grep resolve에 버전 7.19.7이 있는지 확인했는데 --resolve매개변수가 누락되었습니다. 버전 7.29.0에는 이 매개변수가 있으며 구문 분석이 제대로 작동합니다.

관련 정보