이 질문은 내 Raspberry Pi에서 실행되는 Raspbian과 관련되어 있지만 좀 더 일반적인 Linux 쿼리처럼 느껴집니다.
Pi는 Microsoft TMG 서버가 포함된 네트워크에 있습니다. 프록시의 http 문자열이 포함된 /etc/apt/apt.conf.d/에 01proxy 파일을 만들었습니다. 줄은 다음과 같습니다.
Acquire::http::proxy "http://domain\username:password@proxyip:8080/";
domain은 도메인이고, username은 내 사용자 이름이고,password는 내 비밀번호(영숫자가 아닌 문자 포함)이고, ProxyIP는 프록시의 IP 주소입니다. 결과적으로 apt-get 업데이트/설치/업그레이드가 모두 잘 작동합니다. 저는 지금 직장에서 일반적인 인터넷 접속을 시도하고 있습니다. 이를 위해 다음을 시도했습니다.
export http_proxy=http://domain\username:password@proxyip:8080/
export HTTP_PROXY=http://domain\username:password@proxyip:8080/
export http_proxy=http://domain%5Cusername:urlencodedpassword@proxyip:8080/
export HTTP_PROXY=http://domain%5Cusername:urlencodedpassword@proxyip:8080/
export http_proxy=http://username:password@proxyip:8080/
export HTTP_PROXY=http://username:password@proxyip:8080/
export http_proxy=http://username:urlencodedpassword@proxyip:8080/
export HTTP_PROXY=http://username:urlencodedpassword@proxyip:8080/
위의 각 항목은 따옴표(")로 둘러싸여 있지만 여전히 간단한 wget을 작동시킬 수는 없습니다.
어떤 아이디어가 있나요?
답변1
오래된 질문이지만 비슷한 문제를 찾는 사람들에게 유용할 수 있습니다.
사용자는 질문에서 자신이 sudo
루트 계정을 실행하고 있는지 또는 사용하고 있는지 설명하지 않았습니다.
나는 비슷한 것을 경험했습니다. wget은 작동했지만 apt-get은 작동하지 않았으며 물론 회사 방화벽 뒤에있었습니다.
문제는 명령을 실행하는 사용자에 대한 프록시 변수를 내보내야 한다는 것입니다. 제 경우에는 다음과 같습니다.
export http_proxy=http://stupid_corporate_proxy:8280
export https_proxy=http://stupid_corporate_proxy:8280
mortiz@florida: wget http://us.archive.ubuntu.com
Proxy Request sent awaiting response .... 200 OK
# And when executing apt-get, it fails
mortiz@florida: sudo apt-get update
couldn't resolve us.archive.ubuntu.com
루트(sudo)의 경우 프록시 변수를 내보낼 수 없으므로 사용자에게 프록시가 없기 때문에 이는 의미가 있습니다. 루트로 로그인하고 프록시 변수를 내보낸 후 apt-get 작업을 시작했습니다.
사용자의 비밀번호에 특수 문자가 포함된 경우 다른 문제가 발생할 수 있습니다.
export http_proxy=http://domain\username:MyP$ssW0rd@proxyip:8080/
특수 문자를 이스케이프 처리해 볼 수 있습니다.
export http_proxy=http://domain\username:MyP\$ssW0rd@proxyip:8080/
답변을 찾는 모든 사람에게 이것이 유용하기를 바랍니다.
답변2
TMG 서버가 Basic
인증 방법을 지원하지 않고 wget이 다른 것을 제공하지 않는 것 같습니다.(소스 코드).
그래서 당신은 운이 없습니다.