[
https://issues.apache.org/jira/browse/GERONIMO-3706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12552868
]
Sangjin Lee commented on GERONIMO-3706:
---------------------------------------
More on the SSL tunneling. The sequence of events that needs to happen is
- open a socket and connect to the proxy
- send a HTTP CONNECT request to the proxy
- receive an OK response from the proxy
- layer the socket with the SSL socket
then the socket is ready to use, and will act just like an ordinary SSL socket
from the client perspective.
In pseudo-code (in a blocking form), this might be what needs to happen. If
your intended target is https://issues.apache.org,
Socket socket = new Socket(proxyHost, proxyPort);
// using the socket, send the following request
CONNECT issues.apache.org:443 HTTP/1.0
(one may add headers like Via, Host, and User-Agent, but I think they're not
critical in making the request...)
(Proxy-Authorization header needs to be added if the proxy requires
authentication)
// receive the response from the socket; if successful, one should see a
response of the form
HTTP/1.0 200 Connection established
Proxy-agent: some proxy server
// once that request-response has been established, wrap it as an SSL socket
SSLSocket sslSock = (SSLSocket)sslSocketFactory.createSocket(socket,
"issues.apache.org", "443", true);
> support for proxy
> -----------------
>
> Key: GERONIMO-3706
> URL: https://issues.apache.org/jira/browse/GERONIMO-3706
> Project: Geronimo
> Issue Type: New Feature
> Security Level: public(Regular issues)
> Components: AsyncHttpClient
> Affects Versions: 1.x
> Reporter: Sangjin Lee
>
> Proxy support is a critical feature for HTTP clients. I'd like to have
> AsyncHttpClient support proxy. The following would be considered as the
> basic features:
> - Enabling connecting through proxies for http and https targets
> - Exclusion (domains that should not go through proxies)
> - Allowing proxy related configuration on AsyncHttpClient
> - Support for proxy authentication, at least for Basic authentication (and
> perhaps Digest too?)
> There are things like SOCKS support, etc., but the above will be a good
> start. Thoughts?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.