aboutsummaryrefslogtreecommitdiffstats
path: root/doc-src
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2014-12-09 00:01:01 +0100
committerMaximilian Hils <git@maximilianhils.com>2014-12-09 00:01:01 +0100
commitffb95a1db742d71d7671f9e9c6db552774bb0ead (patch)
treef43fc647bdfabb522bdef32e21ea4a36404cc311 /doc-src
parentb95f0c997127bb0516cde0609c83c7d2af5ccfbc (diff)
downloadmitmproxy-ffb95a1db742d71d7671f9e9c6db552774bb0ead.tar.gz
mitmproxy-ffb95a1db742d71d7671f9e9c6db552774bb0ead.tar.bz2
mitmproxy-ffb95a1db742d71d7671f9e9c6db552774bb0ead.zip
fix #304
Diffstat (limited to 'doc-src')
-rw-r--r--doc-src/features/reverseproxy.html26
1 files changed, 25 insertions, 1 deletions
diff --git a/doc-src/features/reverseproxy.html b/doc-src/features/reverseproxy.html
index 1c57f0b2..5ef4efc5 100644
--- a/doc-src/features/reverseproxy.html
+++ b/doc-src/features/reverseproxy.html
@@ -25,4 +25,28 @@ service uses HTTP like this:
https2http://hostname:port
-
+### Host Header
+
+In reverse proxy mode, mitmproxy does not rewrite the host header. While often useful, this
+may lead to issues with public web servers. For example, consider the following scenario:
+
+ $ python mitmdump -d -R http://example.com/ &
+ $ curl http://localhost:8080/
+
+ >> GET https://example.com/
+ Host: localhost:8080
+ User-Agent: curl/7.35.0
+ [...]
+
+ << 404 Not Found 345B
+
+Since the Host header doesn't match <samp>example.com</samp>, an error is returned.<br>
+There are two ways to solve this:
+<ol>
+ <li>Modify the hosts file of your OS so that example.com resolves to 127.0.0.1.</li>
+ <li>
+ Instruct mitmproxy to rewrite the host header by passing <kbd>&#8209;&#8209;setheader&nbsp;:~q:Host:example.com</kbd>.
+ However, keep in mind that absolute URLs within the returned document or HTTP redirects will cause the client application
+ to bypass the proxy.
+ </li>
+</ol> \ No newline at end of file