Say Alice wants to open up an HTTPS connection to Bob through a proxy named Earl.
What prevents Earl from reading alices request, opening a connection pretending to be bob, and then opening a https connection with bob pretending to be Alice , and snooping on the traffic as it passes through ?
The security of HTTPs relies on public key certificates.
I recommend reading up on it here: https://en.m.wikipedia.org/wiki/HTTPS#Overview
Especially the part after this segment: