I'm using Android Studio's AVD to run Chrome for Android.
I've installed the fiddler CA by going to http://<pc-ip>:<fiddler-port>, downloading the FiddlerRoot certificate, and Trusting that certificate through settings on the virtual device.
I've set up the device to proxy through Fiddler.
I can successfully load the Fiddler Echo Service, and http://example.com/. Presumably all http-only traffic works, but it's hard to find examples online to test.
An example request to Google is
CONNECT 172.217.4.67:443 HTTP/1.1
Host: 172.217.4.67:443
The response is
HTTP/1.1 200 Connection Established
FiddlerGateway: Direct
StartTime: 15:53:05.999
No other traffic flows on the session, and it eventually times out with the 🚫 icon.
The Android device is continually polling to establish these connections. When I disconnect the device from the proxy, Fiddler annotates the request:
CONNECT 172.217.9.35:443 HTTP/1.1
Host: 172.217.9.35:443
After the client received notice of the established CONNECT, it failed to send any data.
Fiddler prints a log message for each of these requests
[timestamp] Fiddler.Network.ProtocolViolation - [#XXX] HTTP/1.1 Request was missing the required HOST header.
I don't think this is an issue. I understand it to mean that Chrome for Android doesn't supply a Host header, and as the pastes above show, Fiddler automatically inserts an appropriate one.
The symptom in Chrome for Android, then, is that when I try to access an https site, the browser hangs until it gives ERR_CONNECTION_REFUSED
I'm at a loss here.