diff --git a/doc-src/features/reverseproxy.html b/doc-src/features/reverseproxy.html index 5ef4efc52..af5a5c532 100644 --- a/doc-src/features/reverseproxy.html +++ b/doc-src/features/reverseproxy.html @@ -7,22 +7,17 @@ mitmproxy forwards HTTP proxy requests to an upstream proxy server.
command-line | -R schema://hostname[:port] | +command-line | -R scheme://hostname[:port] |
---|
mitmdump -p 443 -R
-https2http://localhost:80/
). There are better tools for this specific
+http://localhost:80/). There are better tools for this specific
task, but mitmproxy is very quick and simple way to set up an SSL-speaking
server.
- Want to add a non-SSL-capable compression proxy in front of your server? You
-could even spawn a mitmproxy instance that terminates SSL (https2http://...),
+could even spawn a mitmproxy instance that terminates SSL (-R http://...),
point it to the compression proxy and let the compression proxy point to a
-SSL-initiating mitmproxy (http2https://...), which then points to the real
+SSL-initiating mitmproxy (-R https://...), which then points to the real
server. As you see, it's a fairly flexible thing.
Note that mitmproxy supports either an HTTP or an HTTPS upstream server, not
diff --git a/libmproxy/protocol2/reverse_proxy.py b/libmproxy/protocol2/reverse_proxy.py
index c4cabcccc..3ca998d50 100644
--- a/libmproxy/protocol2/reverse_proxy.py
+++ b/libmproxy/protocol2/reverse_proxy.py
@@ -1,7 +1,6 @@
from __future__ import (absolute_import, print_function, division)
from .layer import Layer, ServerConnectionMixin
-from .tls import TlsLayer
class ReverseProxy(Layer, ServerConnectionMixin):
diff --git a/libmproxy/protocol2/root_context.py b/libmproxy/protocol2/root_context.py
index 210ba6ab0..daea54bde 100644
--- a/libmproxy/protocol2/root_context.py
+++ b/libmproxy/protocol2/root_context.py
@@ -10,6 +10,7 @@ from .layer import ServerConnectionMixin
from .http_proxy import HttpProxy, HttpUpstreamProxy
from .reverse_proxy import ReverseProxy
+
class RootContext(object):
"""
The outmost context provided to the root layer.
diff --git a/test/test_cmdline.py b/test/test_cmdline.py
index 1443ee1cc..bb54d011f 100644
--- a/test/test_cmdline.py
+++ b/test/test_cmdline.py
@@ -51,10 +51,6 @@ def test_parse_server_spec():
"Invalid server specification",
cmdline.parse_server_spec,
"http://")
- tutils.raises(
- "Invalid server specification",
- cmdline.parse_server_spec,
- "https2http://foo.com")
def test_parse_setheaders():
diff --git a/test/test_server.py b/test/test_server.py
index b691804bb..66c3a0aed 100644
--- a/test/test_server.py
+++ b/test/test_server.py
@@ -468,7 +468,7 @@ class TestHttps2Http(tservers.ReverseProxTest):
@classmethod
def get_proxy_config(cls):
d = super(TestHttps2Http, cls).get_proxy_config()
- d["upstream_server"] = ("https2http", d["upstream_server"][1])
+ d["upstream_server"] = ("http", d["upstream_server"][1])
return d
def pathoc(self, ssl, sni=None):
@@ -476,7 +476,7 @@ class TestHttps2Http(tservers.ReverseProxTest):
Returns a connected Pathoc instance.
"""
p = pathoc.Pathoc(
- ("localhost", self.proxy.port), ssl=ssl, sni=sni, fp=None
+ ("localhost", self.proxy.port), ssl=True, sni=sni, fp=None
)
p.connect()
return p
@@ -490,6 +490,10 @@ class TestHttps2Http(tservers.ReverseProxTest):
assert p.request("get:'/p/200'").status_code == 200
assert all("Error in handle_sni" not in msg for msg in self.proxy.log)
+ def test_http(self):
+ p = self.pathoc(ssl=False)
+ assert p.request("get:'/p/200'").status_code == 200
+
class TestTransparent(tservers.TransparentProxTest, CommonMixin, TcpMixin):
ssl = False