Re: Crypt::SSLeay HTTPS_PROXY support
jason <[email protected]>
| Newsgroups | gmane.comp.lang.perl.modules.lwp |
|---|---|
| Message-ID | <[email protected]> |
Hi, atul
I added "use LWP::Debug qw(+);"
Here is output from client
----------------------
LWP::UserAgent::new: ()
LWP::UserAgent::request: ()
LWP::UserAgent::send_request: GET https://www.nodeworks.com
LWP::UserAgent::_need_proxy: Not proxied
LWP::Protocol::http::request: ()
SSL_connect:before/connect initialization
SSL_connect:SSLv3 write client hello A
SSL3 alert read:fatal:handshake failure
SSL_connect:failed in SSLv3 read server hello A
LWP::UserAgent::request: Simple response: Internal Server Error
500
--------------------------------------
This is the apache access log
--------------------------------
- - [26/Sep/2006:08:56:59 -0400] "CONNECT www.nodeworks.com:443
HTTP/1.0" 200 - "-" "libwww-perl/5.805"
- - [26/Sep/2006:08:57:01 -0400] "CONNECT 207.154.17.141:80 HTTP/1.0"
403 298 "-" "libwww-perl/5.805"
--------------------------------------------------------
I added other parameters and used the certificate from Crypt-SSLeay
distribution.
----------------------
$ENV{HTTPS_DEBUG} = 2;
# PROXY_BASIC_AUTH
$ENV{HTTPS_PROXY_USERNAME} = '';
$ENV{HTTPS_PROXY_PASSWORD} = '';
# DEFAULT SSL VERSION
$ENV{HTTPS_VERSION} = '3';
# CLIENT CERT SUPPORT
$ENV{HTTPS_CERT_FILE} = 'certs/notacacert.pem';
$ENV{HTTPS_KEY_FILE} = 'certs/notacakeynopass.pem';
# CA CERT PEER VERIFICATION
$ENV{HTTPS_CA_FILE} = 'certs/ca-bundle.crt';
$ENV{HTTPS_CA_DIR} = 'certs/';
# DEFAULT SSL VERSION
$ENV{HTTPS_VERSION} = '3';
----------------------------------------
I get the same result.
You can run the script against my proxy server 207.154.17.141. Maybe my
proxy server is not configured properly. I checked my proxy
configuration using firefox browser.
Thanks
-jason
[email protected] wrote:
> Jason:
>
> Try adding a
> use LWP::Debug qw(+);
> at the top of the code and see what the perl program reports.
>
> Btw, your code runs fine on my proxy configuration. I just have to add
> a $ENV{HTTPS_PROXY_USERNAME} and a $ENV{HTTPS_PROXY_PASSWORD} with the
> other specifications also.
>
> Regards,
> Atul.
>
> Jason wrote:
>
>> Hi,
>>
>> I could not get the example script from Crypt::SSLeay run successfully.
>> Here is the script
>> ---------------------
>> #!/usr/bin/perl
>> # PROXY SUPPORT
>> $ENV{HTTPS_PROXY} = '207.154.17.141:80';
>> # DEBUGGING SWITCH / LOW LEVEL SSL DIAGNOSTICS
>> $ENV{HTTPS_DEBUG} = 2;
>>
>>
>> use LWP::UserAgent;
>> my $ua = new LWP::UserAgent;
>> my $req = new HTTP::Request('GET', 'https://www.nodeworks.com');
>> my $res = $ua->request($req);
>> print $res->code."\n";
>> ------------------------------------
>>
>> I tested the proxy server with Firefox browser. It worked fine. I
>> looked into the access log in the proxy server. When I run the example
>> script.
>>
>> I got two access log entries
>> --------------------
>> - - [25/Sep/2006:20:42:23 -0400] "CONNECT www.nodeworks.com:443
>> HTTP/1.0" 200 - "-" "libwww-perl/5.805"
>> - - [25/Sep/2006:20:42:24 -0400] "CONNECT 207.154.17.141:80 HTTP/1.0"
>> 403 298 "-" "libwww-perl/5.805"
>> -------------------
>>
>> Notice that LWP tried to issue an CONNECT method to the proxy server
>> itself. It got a 403 response for this request. On the other hand,
>> firefox did not send CONNECT method to proxy server itself.
>> - - [25/Sep/2006:19:33:34 -0400] "CONNECT www.nodeworks.com:443
>> HTTP/1.1" 200 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
>> rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7"
>> - - [25/Sep/2006:19:33:38 -0400] "CONNECT www.nodeworks.com:443
>> HTTP/1.1" 200 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
>> rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7"
>> - - [25/Sep/2006:19:34:32 -0400] "CONNECT www.nodeworks.com:443
>> HTTP/1.1" 200 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
>> rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7"
>> - - [25/Sep/2006:19:34:29 -0400] "CONNECT www.nodeworks.com:443
>> HTTP/1.1" 200 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
>> rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7"
>>
>> Not sure what is trick here. It seemed that other can get the example
>> script run properly. Can anyone give me some help on this?
>>
>> Thanks
>>
>> -jason
>>
>
>