Jason:

The
$ENV{HTTPS_PROXY_USERNAME} = 'jason_username' ;
$ENV{HTTPS_PROXY_PASSWORD} = 'jason_password' ;
lines are supposed to contain your proxy username and password. Note that
you may not explicitly know that your windows network login (in case you
work on an NT network) authentication is used by proxy servers under NT
authentication.

So, try filling in those authentication details in the above mentioned
lines.

Also, in my version of your code that was working all this while, I emptied
out the username and it gave me a 500 also, but a print of $res->content
shows that it is a proxy authentication failure.

I hope this should help you solve your problem.

Regards,
Atul.


On 9/19/06, jason <[EMAIL PROTECTED]> wrote:

 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://207.154.17.141/>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 <http://207.154.17.141/>';
 # 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://207.154.17.141/> 
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



Reply via email to