Ich habe einen Proxy geschrieben, der lokal auf dem Rechner läuft und http-Anfragen (Proxy im Browser entsprechend eingestellt) einfach nur weiterleitet (weil's mich interessiert und vllt. für einen späteren Filter/Tunnel/...). Das ganze in Java, per Sockets, über den Request finde ich den Zielrechner raus und leite dorthin weiter.
Beispiel:
Request wird weitergeleitet an http://www.google.at
Läuft so weit ganz gut (http://www.orf.at, wird z.B. korrekt inkl. Bildern und so dargestellt).
Zum Problem: Eine Anfrage per https funktioniert jedoch nicht, obwohl ich die Anfrage 1:1 weiterleite.
Request wird weitergeleitet an http://www.google.at:443, es geht weiter mit:
<CR><LF>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0<CR><LF>
Proxy-Connection: keep-alive<CR><LF>
Connection: keep-alive<CR><LF>
Host: www.google.at:443<CR><LF>
<CR><LF>
Unmittelbar darauf: Server - connection closed
Und das verstehe ich nicht. Warum lehnt der Server (es ist nicht nur bei google so) die https-Verbindung ab?
Ich habe die Anfrage 1:1 weitergeleitet (byte für byte, per Input-/OutputStreams).
Gibt es da irgendeine Kommunikation, die da noch nebenher läuft? Oder mache ich sonst irgendeinen Fehler?
Liegt es vielleicht an der Stückelung der Pakete, da ich alles byte für byte weiterleite, könnte es da sein, dass nicht alles in einem Paket ankommt und der Server das aber so haben will?
Ich habe schon einiges herumprobiert, aber ich kriege ja nicht mal eine ordentliche Fehlermeldung oder sonst irgendeinen Hinweis vom Server was da schief läuft.