Wenn Sie einen https-Client eines Drittanbieters verwenden, können Sie möglicherweise nicht mit nginx routen, da dieser SNI nicht unterstützt, und Sie möchten möglicherweise einen SNI ausprobieren, der sich von dem tatsächlichen unterscheidet.
Möglicherweise können Sie SNI mithilfe eines Proxys namens Mitmproxy neu schreiben. Dieses Mal nehmen wir einen Client an, der die CONNECT-Methode verwenden kann.
Die transparente HTTPS-Methode der folgenden URL wird jedoch wahrscheinlich neu geschrieben, auch wenn sie den Proxy nicht unterstützt. https://docs.mitmproxy.org/stable/concepts-howmitmproxyworks
Installieren Sie Mitmproxy mit Pip usw. https://docs.mitmproxy.org/stable/overview-installation/
Speichern Sie das folgende Programm als custom_sni.py.
from mitmproxy import ctx, http
import mitmproxy
def next_layer(layer: mitmproxy.proxy.protocol.Layer):
if isinstance(layer,mitmproxy.proxy.protocol.TlsLayer):
layer._custom_server_sni="<SNI, das Sie lösen möchten>"
return layer
Lassen Sie das Mitmproxy-Zertifikat (~ / .mitmproxy / Mitmproxy-ca-cert.cer) als vorläufige Vorbereitung zu. Starten Sie dann den Proxy an Port 8080 wie folgt:
mitmproxy -s custom_sni.py
Danach können Sie den Proxy auf dem Client festlegen, den Sie verwenden möchten
Recommended Posts