ポートでローカルに http サーバーを実行しています8181
。デバイスにmitmproxy
構成があり、特定のドメインからの要求をローカル サーバー インスタンスに転送する必要があります。したがって、ここで説明するリクエスト リダイレクトのサンプル スクリプトを使用しています。
def request(flow):
# pretty_host takes the "Host" header of the request into account,
# which is useful in transparent mode where we usually only have the IP
# otherwise.
# Method 2: Redirect the request to a different server
if flow.request.pretty_host.endswith("mydomain.com"):
flow.request.headers["Host"] = flow.request.headers
flow.request.host = "localhost"
flow.request.port = 8181
flow.request.scheme = 'http'
これは機能しますが、ヘッダーを元のリクエストホストに設定する必要があるため、ここで説明されているHost
ヘッダーの追加の例に従いました。
flow.request.headers["Host"] = flow.request.headers
しかし、リクエストにこのヘッダーセットが表示されず、サーバーログmitmproxy
にも表示されません。localhost
だから私はそれを同じにしたいcURL
curl -b c -c c "http://localhost:8181/something" -H "Host: mydomain.com"
少なくとも次のような必要なリクエストヘッダーを持つために
* Trying ::1...
* Connected to localhost (::1) port 8181 (#0)
> GET /something HTTP/1.1
> Host:mydomain.com
> User-Agent: curl/7.43.0
> Accept: */*