2012-07-18 26 views
17

Mam system Linux w środowisku korporacyjnym, w którym dostęp do sieci jest zamykany przez serwer proxy, który wymaga uwierzytelnienia.Używanie CPAN z błędem serwera proxy po conf init/proxy/

Podczas pierwszego uruchomienia cpan Automatycznie konfiguruje wszystko, co normalnie robi:

Autoconfigured everything but 'urllist'. Please call 'o conf init urllist' to configure your CPAN server(s) now!

commit: wrote '/usr/lib/perl5/5.10.0/CPAN/Config.pm'

Wiedząc, że mam pełnomocnictwa do nawigacji, a po przeczytaniu dokumentacji i kilka stron w internecie o pełnomocnika i CPAN I:

cpan[1]> o conf init /proxy/

If you're accessing the net via proxies, you can specify them in the CPAN configuration or via environment variables. The variable in the $CPAN::Config takes precedence.

Your ftp_proxy? []

Your http_proxy? [] 10.12.8.9:3128

Your no_proxy? []

If your proxy is an authenticating proxy, you can store your username permanently. If you do not want that, just press RETURN. You will then be asked for your username in every future session.

Your proxy user id? [] my_net_id

Your password for the authenticating proxy can also be stored permanently on disk. If this violates your security policy, just press RETURN. You will then be asked for the password in every future session.

CPAN: Term::ReadKey loaded ok (v2.30) Your proxy password? Please remember to call 'o conf commit' to make the config permanent!

cpan[2]> o conf commit commit: wrote '/usr/lib/perl5/5.10.0/CPAN/Config.pm'

Wszystko powinno być teraz dobre, prawda? Więc życzę,

cpan[3]> i /Some::Module/ CPAN: Storable loaded ok (v2.18)

I would like to connect to one of the following sites to get 'authors/01mailrc.txt.gz':

http://www.perl.org/CPAN/ ftp://ftp.perl.org/pub/CPAN/

Is it OK to try to connect to the Internet? [yes] LWP not available

Trying with "/usr/bin/curl -L -f -s -S --netrc-optional" to get http://www.perl.org/CPAN/authors/01mailrc.txt.gz curl: (22) The requested URL returned error: 407

System call "/usr/bin/curl -L -f -s -S --netrc-optional " http://www.perl.org/CPAN/authors/01mailrc.txt.gz " > /root/.cpan/sources/authors/01mailrc.txt.tmp29726" returned status 22 (wstat 5632) Warning: expected file [/root/.cpan/sources/authors/01mailrc.txt.gz.tmp29726] doesn't exist

Trying with "/usr/bin/wget -O /root/.cpan/sources/authors/01mailrc.txt.tmp29726" to get http://www.perl.org/CPAN/authors/01mailrc.txt.gz --2012-07-17 15:57:38-- http://www.perl.org/CPAN/authors/01mailrc.txt.gz Connecting to 10.12.8.9:3128... connected. Proxy request sent, awaiting response... 301 Moved Permanently Location: http://www.cpan.org/authors/01mailrc.txt.gz [following] --2012-07-17 15:57:38-- http://www.cpan.org/authors/01mailrc.txt.gz Connecting to 10.12.8.9:3128... connected. Proxy request sent, awaiting response... 407 Proxy Authentication Required 2012-07-17 15:57:38 ERROR 407: Proxy Authentication Required.

Więc gdzie jest hasło poprosi?

Czego mi brakuje do skonfigurowania cpan, aby uzyskać dostęp do Internetu za pośrednictwem korporacyjnego serwera proxy z uwierzytelnianiem?

Odpowiedz

9

Zainstaluj LWP. Narzędzie cpan używa curl, ponieważ nie mógł załadować LWP. Żadne parametry proxy nie są przekazywane do zwijania, więc musisz wyeksportować http_proxy = http: // host: port/przed uruchomieniem polecenia.

Lub, jeśli możesz zainstalować LWP za pomocą menedżera pakietów twojej dystrybucji, to powinna poprawnie skonfigurować dostęp proxy.

+0

Mamy zwycięzcę. Chociaż wydaje się, że postawienie wózka przed koniem możliwe jest ręczne zainstalowanie LWP i jego 18 zależności, a następnie cpan przejdzie przez proxy. @Luciano go ma. – MichaelRpdx

+0

Jako alternatywę do ręcznego instalowania 19 pakietów z CPAN, spróbuj 'o conf' ustawiając wszystkie trzy' http_proxy', 'proxy_user' i' proxy_pass' na pusty ciąg znaków (lub usuwając je z '~/.cpan/CPAN/MyConfig.pm' za pomocą edytora tekstu). Następnie upewnij się, że 'HTTP_PROXY',' HTTPS_PROXY', i małe warianty są ustawione i 'export'ed w twoim środowisku powłoki. To działało dla mnie z zupełnie nową instalacją Perla ze źródła i korporacyjnego proxy HTTP, które wymaga uwierzytelnienia. – TheDudeAbides

3

Można spróbować użyć to przed wywołaniem cpan:

export http_proxy=http://my_net_id:[email protected]:3128/ 

ten sposób może curl będzie używać proxy.

+0

Rzeczywiście, wejście '10.12.8.9: 3128' wygląda źle. Powinien raczej powiedzieć "http: //10.12.8.9: 3128". – daxim

+0

@Paulo To nie miało żadnego efektu – MichaelRpdx

+0

@daxim Uwaga z logów, które napisałem cpan łączy się z serwerem proxy, po prostu nie wykonuje wymaganego uwierzytelnienia. – MichaelRpdx

22

Należy podać bezwzględny adres URL proxy w celu skonfigurowania ustawień proxy CPAN. nie martw się, zamiast podać prosty adres IP i numer portu, proszę podać poniżej.

cpan> o conf init /proxy/ 

Your ftp_proxy? [] ftp://10.12.8.9:3128 

Your http_proxy? [] http://10.12.8.9:3128 

Your no_proxy? [] 

i zapewniają użytkownika i hasło w razie potrzeby (upewnij się, że masz uprawnienie pobierania)

ja też mam ten sam problem, ale teraz jego pracy dla mnie. Powinienem też pracować dla ciebie.

BR Jerry James

+0

To była poprawna odpowiedź dla mnie, aby usunąć proxy. Istniejący obraz/kontener dokowanego posiadał env z http_proxy i chciałem go usunąć. –

Powiązane problemy