1

I want to send custom headers to the host while using proxies. Take a look at the examples below. Explaining the situation with examples was easier.

This works fine as expected:

curl https://www.cloudflare.com/

When I choose to avoid using DNS by giving host's IP address to curl:

curl http://198.41.214.163/

Website gives me this error page -->

"Direct IP access not allowed. You've requested an IP address that is part of the CloudFlare network. A valid Host header must be supplied to reach the desired website."


If we supply correct host header name, it will work normal again without using DNS:

curl --header "Host: cloudflare.com" http://198.41.214.163/

But when I do the same while using a proxy tunnel, curl doesn't send the headers to host, so i get "Direct IP access not allowed" error from to the host:

curl --proxy "http://PROXY_IP:PORT" --header "Host: cloudflare.com" http://198.41.214.163/

How can i overcome this problem?

0

1 Answer 1

6

This problem should be gone with cURL 7.37.0, which introduced the --proxy-header parameter to specify headers that are meant for the proxy server. Headers given with -H/--header will be seen as "end-server only" now.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .