Jak ustawić proxy dla Cabal?


9

Używam Ubuntu za proxy (Windows). Chciałbym skorzystać z cabalnarzędzia.

jem@Respect:~$ cabal update
Config file path source is default config file.
Config file /home/jem/.cabal/config not found.
Writing default configuration to /home/jem/.cabal/config
Downloading the latest package list from hackage.haskell.org
Warning: invalid http proxy uri:
"http://domain\\user:pass@internetproxy:3128/"
Warning: proxy uri must be http with a hostname
Warning: ignoring http proxy, trying a direct connection
^C

Adres URL proxy został odczytany ze środowiska. Mój serwer proxy wymaga uwierzytelnienia, ale cabal chce, aby adres URL serwera proxy zaczynał się od nazwy hosta, więc może poprosi mnie o podanie poświadczeń ...

jem@Respect:~$ http_proxy=http://internetproxy:3128/ cabal update
Downloading the latest package list from hackage.haskell.org
No action for prompting/generating user+password credentials  provided (use: setAuthorityGen); returning Nothing
cabal: Failed to download index 'ErrorMisc "Unsucessful HTTP code: (4,0,7)"'

Co to jest setAuthorityGeni jak go używać? Co ważniejsze, czy mogę umożliwić dostęp za pośrednictwem uwierzytelniającego serwera proxy? Czy będę musiał tunelować?


Mam podobny problem. Jeśli znajdziesz obejście, daj mi znać.
Dilawar

@Dilawar Jest zaznaczony w bugtracker hackage.haskell.org/trac/hackage/ticket/855
Artem Koshelev

Odpowiedzi:


2

Moje standardowe podejście do serwerów proxy ISA polega na skonfigurowaniu lokalnego proxy uwierzytelniającego, takiego jak cntlm . Po zainstalowaniu cntlm na komputerze z systemem Ubuntu skonfigurujesz go tak, aby uwierzytelniał się za pośrednictwem NTLM na serwerze proxy ISA przy użyciu nazwy użytkownika i hasła systemu Windows. Następnie ustaw HTTP_PROXYzmienną na http://localhost:3128(tj. Port, którego nasłuchuje cntlm).

Zaletą tego podejścia jest to, że tylko jeden program ma do czynienia z serwerem proxy Windows. Wszystkie inne programy mogą przejść, używając cntlm jako bramy.



0

Mam to działa z polipo . Mój uniwersytet używa http-proxyuwierzytelniania. W /etc/polipo/configmusisz dodać te linie

parentProxy = "proxy.server.com:80"
parentAuthCredentials = "myusername:mypassword"

I eksport http_proxy=http://localhost:8123". I działało jak urok.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.