![Curl: 프록시를 사용하는 동안 사용자 정의 헤더를 보내는 방법](https://rvso.com/image/1457457/Curl%3A%20%ED%94%84%EB%A1%9D%EC%8B%9C%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%20%EB%8F%99%EC%95%88%20%EC%82%AC%EC%9A%A9%EC%9E%90%20%EC%A0%95%EC%9D%98%20%ED%97%A4%EB%8D%94%EB%A5%BC%20%EB%B3%B4%EB%82%B4%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
프록시를 사용하는 동안 호스트에 사용자 정의 헤더를 보내고 싶습니다. 아래 예를 살펴보십시오. 사례를 들어 상황을 설명하는 것이 더 쉬웠습니다.
예상대로 잘 작동합니다.
curl https://www.cloudflare.com/
컬에 호스트의 IP 주소를 제공하여 DNS 사용을 피하기로 선택한 경우:
curl http://198.41.214.163/
웹사이트에서 다음 오류 페이지를 표시합니다 -->
"직접 IP 접속은 허용되지 않습니다.CloudFlare 네트워크의 일부인 IP 주소를 요청했습니다.유효한 호스트 헤더를 제공해야 합니다. 원하는 웹사이트에 접속하려면."
올바른 호스트 헤더 이름을 제공하면 DNS를 사용하지 않고도 다시 정상적으로 작동합니다.
curl --header "Host: cloudflare.com" http://198.41.214.163/
하지만 프록시 터널을 사용하는 동안 동일한 작업을 수행하면 컬이 호스트에 헤더를 보내지 않으므로 "직접 IP 접근은 허용되지 않습니다" 호스트에서 오류 발생:
curl --proxy "http://PROXY_IP:PORT" --header "Host: cloudflare.com" http://198.41.214.163/
이 문제를 어떻게 극복할 수 있나요?
답변1
--proxy-header
이 문제는 프록시 서버용 헤더를 지정하는 매개변수를 도입한 cURL 7.37.0에서 해결되어야 합니다 . -H
/ 로 제공된 헤더는 --header
이제 "최종 서버 전용"으로 표시됩니다.