Como usar HttpsURLConnection através de proxy por setProperty?

Ambiente de rede:

Https Client <=============> Servidor Proxy <==============> Servidor Https
192.168.17.11 <----- extranet ------> 192.168.17.22
10.100.21.10 <---- intranet -----> 10.100.21.11

ps: Http Client sem gateway padrão, mas pode pingar para 10.100.21.11

Descrição:

SO: Ubuntu 12.04 em 3 hosts
Cliente Https: Implemente com java (openjdk-6). Tenha uma interface de rede.
Servidor Proxy: Apache2.2.Have duas interfaces de rede.
Servidor Https: Tomcat6.Tenha uma interface de rede.

Eu uso dois métodos para implementarhttpsurlconnection através de proxy:
(Para facilitar eu não anote sobre a função de identificador SSL para verificarserverTrusted ehostnameVerifier questão.Se precisar atualizarei.)

Classe 1.Proxy
InetSocketAddress proxyInet = new InetSocketAddress("10.100.21.11",80);
Proxy proxy = new Proxy(Proxy.Type.HTTP, proxyInet);
URL httpsUrl = new URL("https://192.168.17.22:8443/test");
HttpsURLConnection httpsCon = (HttpsURLConnection) httpsUrl.openConnection(proxy);

httpsCon.setDoOutput(true);
httpsCon.setDoInput(true);
httpsCon.setRequestMethod("POST");
OutputStream out = httpsCon.getOutputStream();
OutputStreamWriter owriter = new OutputStreamWriter(out);

owriter.write("<request>test</request>");
owriter.flush();
owriter.close();
...

Este método viável e eu observei o fluxo de pacotes também atendeu a minha expectativa.
HttpClient ---> ProxyServer ---> HttpServer

Mas quando eu uso o método de propriedade set:

2.setProperty
System.setProperty("http.proxySet", "true");
System.setProperty("http.proxyHost",10.100.21.11);
System.setProperty("http.proxyPort","80");

URL httpsUrl = new URL("https://192.168.17.22:8443/test");
HttpsURLConnection httpsCon = (HttpsURLConnection)httpsUrl.openConnection();

httpsCon.setDoOutput(true);
httpsCon.setDoInput(true);
httpsCon.setRequestMethod("POST");
OutputStream out = httpsCon.getOutputStream();
OutputStreamWriter owriter = new OutputStreamWriter(out);

owriter.write("<request>test</request>");
owriter.flush();
owriter.close();
...

eu tenho umNoRouteToHostException: Network is unreachable.
Isso me deixa confuso. Eu não vi nenhum pacote entre HttpClient e ProxyServer.
Mas HttpClient pode pingar para ProxyServer (10.100.12.10 ping 10.100.21.11)

Então eu removi a configuração de proxy (como sem usar proxy):
Também temNoRouteToHostException: Network is unreachable.
Eu pensei que isso é razoável. Porque não há rota para extranet.

Eu acho que parece quesetProperty método que a função interna dehttpsUrlConnection vontade de verificar esta url pode ser alcançável ou não.

Mas é estranho. 1º método pode ser sucesso.

Tem alguma ideia? Ou o que são diferentes entre o primeiro e o segundo método?

++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++

Atualizar

System.setProperty("https.proxyHost",10.100.21.11);
System.setProperty("https.proxyPort","80"); 

Pode funcionar e o fluxo de pacotes está correto para o que eu espero.
Mas definir https.proxyPort = 443 não é viável para mim

System.setProperty("https.proxyPort","443");

Ele irá conter uma exceção como abaixo:

java.net.SocketException: Unexpected end of file from server 
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:770)
....

Então eu pensei que o Apache Proxy também fosse modificado para a configuração correta.

questionAnswers(2)

yourAnswerToTheQuestion