프록시 뒤에서 루비 보석을 업데이트하는 방법(ISA-NTLM)
제가 지원하는 방화벽은 Microsoft ISA 서버를 NTLM 전용 모드로 실행하고 있습니다.Ruby SSPI gem 또는 다른 방법으로 Ruby gem을 설치/업데이트하는 데 성공한 사람이 있습니까?
아니면 그냥 게으른 걸까요?
참고: 루비스파이-1.2.4는 작동하지 않습니다.
이것은 IronRuby 프로젝트의 일부인 "igem"에서도 작동합니다.
Windows OS의 경우 Fiddler를 사용하여 문제를 해결했습니다.
- www.fiddler2.com 에서 Fiddler 설치/실행
보석 실행:
$ gem install --http-proxy http://localhost:8888 $gem_name
을 수행할 설정만 작업을 할 수 .HTTP_PROXY
환경변니다입수▁(. (그한 것.)(이 경우가 중요한 것 같습니다.)다음과 같은 행이 포함된 배치 파일이 있습니다.
SET HTTP_PROXY=http://%USER%:%PASSWORD%@%SERVER%:%PORT%
저는 이 선에 도달하기 전에 4개의 참조 변수를 설정했습니다.예를 들어 사용자 이름이 "wolfbyte"이고 암호는 "secret"이며 프록시는 "pigsy"이며 포트 8080에서 작동합니다.
SET HTTP_PROXY=http://wolfbyte:secret@pigsy:8080
기계 세션에서 암호를 일반 텍스트로 저장하기 때문에 관리 방법에 주의해야 할 수도 있지만, 너무 큰 문제가 되지는 않을 것 같습니다.
이것은 완전히 효과가 있었습니다.
gem install --http-proxy http://COMPANY.PROXY.ADDRESS $gem_name
회사에서 cntlm(http://cntlm.sourceforge.net/) 을 사용하고 있습니다.구성은 ntlmap과 매우 유사합니다.
- gem 설치 --gem-delay http://localhost:3128_name_of_delay_
잘 작동하고 Ubuntu 박스를 ISA 프록시에 연결할 수 있습니다.
더 많은 정보를 위해 http://cntlm.wiki.sourceforge.net/ 을 확인하세요.
저는 이 해결책들 중 몇 가지를 시도해 보았지만, 아무 것도 효과가 없었습니다.저는 마침내 저에게 맞는 솔루션을 찾았습니다.
gem install -p http://proxy_ip:proxy_port rails
사용-p
매개 변수: 프록시를 전달합니다.저는 Gem 버전 1.9.1을 사용하고 있습니다.
다음을 포함하는 .gemrc 파일을 생성합니다(예: /etc/gemrc 또는 ~/.gemrc 또는 /opt/chef/embedded/etc/gemrc의 셰프 젬).
http_proxy: http://proxy:3128
그러면 할 수 있습니다.gem install
평소처럼.
이것은 제 문제를 완벽하게 해결했습니다.
gem install -p http://proxy_ip:proxy_port compass
사용자 이름과 암호를 추가해야 할 수도 있습니다.
gem install -p http://[username]:[password]@proxy_ip:proxy_port compass
프록시를 통해 인증하는 데 문제가 있는 경우 아래와 같은 형식으로 환경 변수를 정확하게 설정해야 합니다.
set HTTP_PROXY=some.proxy.com
set HTTP_PROXY_USER=user
set HTTP_PROXY_PASS=password
그user:password@
구문이 작동하지 않는 것처럼 보이고 Stack Overflow 및 다양한 포럼 게시물에 잘못된 이름의 환경 변수가 떠돌고 있습니다.
또한 보석이 다운로드되기 시작하는 데 시간이 걸릴 수 있습니다.처음에는 작동하지 않는다고 생각했지만, 조금 인내심을 가지고 예상대로 다운로드를 시작했습니다.
빠른 답변: 설치/업데이트 모두에 대한 매개 변수가 있는 프록시 구성 추가
gem install --http-proxy http://host:port/ package_name
gem update --http-proxy http://host:port/ package_name
위의 모든 해결책을 시도해 보았지만 모두 효과가 없었습니다.Linux/macOS를 사용하는 경우 SSH 터널을 통해 tsock을 사용하는 것이 좋습니다.이 설정을 작동시키기 위해 필요한 것은 ssh를 통해 로그인할 수 있는 기계와 tsocks라는 프로그램이 설치된 기계입니다.
여기서는 SSH(socks5 프록시)를 통해 동적 터널을 생성하는 것이 좋습니다.그런 다음 이 터널을 사용하고 응용 프로그램을 시작하도록 tsock을 구성합니다. 이 경우:
tsocks gem install ...
또는 레일 3.0 설명:
tsocks bundle install
자세한 가이드는 다음에서 확인할 수 있습니다.
http://blog.byscripts.info/2011/04/bypass-a-proxy-with-ssh-tunnel-and-tsocks-under-ubuntu/
Ubuntu용으로 작성되었음에도 불구하고 이 절차는 모든 Unix 기반 시스템에 적용됩니다.Windows용 tsocks의 대안은 FreeCap(http://www.freecap.ru/eng/) )입니다.윈도우즈에서 사용 가능한 SSH 클라이언트를 putty라고 합니다.
이 주제와 관련된 게시물이 많이 있으며, 다른 사람들이 다른 솔루션을 시도하는 데 드는 시간을 절약할 수 있도록 도와주기 위해, 여기 제가 몇 시간 동안 노력한 최종 결과가 있습니다.
현재 인터넷을 둘러싼 세 가지 해결책은 다음과 같습니다: rubysspi apserver cntlm.
Rubysspi는 Win32Api 라이브러리에 의존하기 때문에 Windows 시스템인 AFAIK에서만 작동합니다.따라서 Windows 상자에서 프록시를 통해 실행하려는 경우 이 방법이 사용자를 위한 솔루션입니다.만약 당신이 리눅스 디스트리뷰터에 있다면, 당신은 운이 없습니다.
서버는 죽은 프로젝트인 것 같습니다.제가 본 게시물에 나열된 링크는 소스 위조 404페이지로 이어집니다.소스포지에서 "apserver"를 검색하면 아무것도 반환되지 않습니다.
제가 본 cntlm의 소스 위조 링크는 http://cntlm.awk.cz/, 으로 리디렉션되지만 시간이 초과되었습니다.소스 위조에 대한 검색은 다음 링크를 검색합니다. http://sourceforge.net/projects/cntlm/
cntlm을 다운로드하고 구성한 후 프록시를 통해 보석을 설치할 수 있었기 때문에 이것이 Linux 디스트로스를 위한 최고의 솔루션인 것 같습니다.
해결 방법은 로컬 컴퓨터에 http://web.archive.org/web/20060913093359/http ://apserver.sourceforge.net:80/ 을 설치하고 구성한 후 이 프록시를 통해 gem을 실행하는 것입니다.
- 설치: 실험용 098이 아닌 apserver 097을 다운로드하여 압축을 풉니다.
- 파일: 하고 server.cfg에 MS 프록시 을 입력합니다.
PARENT_PROXY
그리고.PARENT_PROXY_PORT
및 DOMAIN의 합니다.비밀번호를 비워 둡니다(콜론 뒤에 아무것도 없음). 비밀번호를 시작할 때 메시지가 표시됩니다. - 합니다.
cd aps097; python main.py
- : 보석실:
gem install—http-proxy http://localhost:5865/ library
저는 프록시 뒤에서 일하고 있으며 방금 http://rubygems.org 에서 직접 다운로드하여 SAS를 설치했습니다.
나는 그 다음에 달렸습니다.sudo gem install [path/to/downloaded/gem/file]
이것이 모든 보석에 효과가 있다고 말할 수는 없지만, 어떤 사람들에게는 도움이 될 수도 있습니다.
이것은 Windows 박스에서 작동했습니다.
set HTTP_PROXY=http://server:port
set HTTP_PROXY_USER=username
set HTTP_PROXY_PASS=userparssword
set HTTPS_PROXY=http://server:port
set HTTPS_PROXY_USER=username
set HTTPS_PROXY_PASS=userpassword
필요할 때 환경 값을 설정하는 데 사용하는 이 줄이 포함된 배치 파일이 있습니다.
제 경우의 비결은HTTPS_PROXY
세트가 없으면 항상 407 프록시 인증 오류가 발생합니다.
*nix 시스템에 있는 경우 다음을 사용합니다.
export http_proxy=http://${proxy.host}:${port}
export https_proxy=http://${proxy.host}:${port}
다음을 시도합니다.
gem install ${gem_name}
Rubysspi-1.3.1은 이 페이지의 지침을 사용하여 Windows 7에서 작동했습니다.
http://www.stuartellis.eu/articles/installing-ruby/
SOCKS5 프록시를 사용하려면 https://github.com/gussan/rubygems-socksproxy 에서 rubygems-messagesproxy를 사용할 수 있습니다.
OSX 10.9.3에서 작동합니다.
프록시 뒤에 있는 경우 Ruby 다운로드로 이동하고 Download를 클릭하면 지정된 업데이트(또는 Gem)가 원하는 위치로 다운로드됩니다.
합니다. : Ruby 명령다위이치동다니합로한드운로여하용.pushd [directory]
: 예:pushd D:\Setups
합니다.gem install [update name] --local
예:gem install rubygems-update --local
.
Ruby 업데이트 버전 2.4.1로 Windows 7에서 테스트되었습니다.
하려면 다음합니다.ruby -v
배치 파일(예: 번들러와 같은 다른 Ruby 보석에 대해 수행해야 할 수도 있음)을 편집하는 것보다 이 작업을 한 번 수행하고 적절하게 수행하는 것이 더 나을 수 있습니다.
Windows에서 회사 프록시 뒤에 다음을 추가하기만 하면 되었습니다.HTTP_PROXY
시스템 환경 변수입니다.
- 시작 -> 컴퓨터 -> 속성을 마우스 오른쪽 단추로 클릭합니다.
- "고급 시스템 설정"을 선택합니다.
- 고급 -> 환경 변수 클릭
- " "System"을 .
HTTP_PROXY
합니다. - 재부팅 또는 로그아웃 후 다시 로그인
인증 요구 사항에 따라HTTP_PROXY
값은 다음과 같이 단순할 수 있습니다.
http://proxy-server-name
또는 다른 사람들이 지적한 것처럼 더 복잡합니다.
http://username:password@proxy-server-name:port-number
SSH로 터널링하는 모든 사용자를 위해, 의 버전을 생성할 수 있습니다.gem
SOCKS 프록시를 사용하는 명령:
- 설치하다
socksify
와 함께gem install socksify
(적어도 프록시 없이 이 단계를 수행할 수 있어야 합니다.) 기존 gem exe 복사
cp $(command which gem) /usr/local/bin/proxy_gem
즐겨찾는 편집기에서 열고 맨 위에 추가합니다(쉐방 뒤에).
require 'socksify' if ENV['SOCKS_PROXY'] require 'socksify' host, port = ENV['SOCKS_PROXY'].split(':') TCPSocket.socks_server = host || 'localhost' TCPSocket.socks_port = port.to_i || 1080 end
터널 설정
ssh -D 8123 -f -C -q -N user@proxy
proxy_gem을 사용하여 gem 명령 실행
SOCKS_PROXY=localhost:8123 proxy_gem push mygem
언급URL : https://stackoverflow.com/questions/4418/how-do-i-update-ruby-gems-from-behind-a-proxy-isa-ntlm
'programing' 카테고리의 다른 글
springboot : 핸들러의 사전 핸들에서 오류 상태 코드를 반환하는 방법요격기 (0) | 2023.06.25 |
---|---|
Python에서 URL을 구성할 때 경로의 구성 요소를 결합하는 방법 (0) | 2023.06.25 |
작업은 Excel 시트를 업데이트할 때 업데이트 가능한 쿼리를 사용해야 합니다. (0) | 2023.06.20 |
빌딩 cx_Oracle 문제 - libclntsh.so .11.1 => 찾을 수 없음 (0) | 2023.06.20 |
Oracle - ORA-01489: 문자열 연결 결과가 너무 깁니다. (0) | 2023.06.20 |