programing

프록시 뒤에서 루비 보석을 업데이트하는 방법(ISA-NTLM)

abcjava 2023. 6. 25. 18:11
반응형

프록시 뒤에서 루비 보석을 업데이트하는 방법(ISA-NTLM)

제가 지원하는 방화벽은 Microsoft ISA 서버를 NTLM 전용 모드로 실행하고 있습니다.Ruby SSPI gem 또는 다른 방법으로 Ruby gem을 설치/업데이트하는 데 성공한 사람이 있습니까?

아니면 그냥 게으른 걸까요?

참고: 루비스파이-1.2.4는 작동하지 않습니다.

이것은 IronRuby 프로젝트의 일부인 "igem"에서도 작동합니다.

Windows OS의 경우 Fiddler를 사용하여 문제를 해결했습니다.

  1. www.fiddler2.com 에서 Fiddler 설치/실행
  2. 보석 실행:

    $ 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과 매우 유사합니다.

잘 작동하고 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시스템 환경 변수입니다.

  1. 시작 -> 컴퓨터 -> 속성을 마우스 오른쪽 단추로 클릭합니다.
  2. "고급 시스템 설정"을 선택합니다.
  3. 고급 -> 환경 변수 클릭
  4. " "System"을 .HTTP_PROXY합니다.
  5. 재부팅 또는 로그아웃 후 다시 로그인

인증 요구 사항에 따라HTTP_PROXY값은 다음과 같이 단순할 수 있습니다.

http://proxy-server-name

또는 다른 사람들이 지적한 것처럼 더 복잡합니다.

http://username:password@proxy-server-name:port-number

SSH로 터널링하는 모든 사용자를 위해, 의 버전을 생성할 수 있습니다.gemSOCKS 프록시를 사용하는 명령:

  1. 설치하다socksify와 함께gem install socksify(적어도 프록시 없이 이 단계를 수행할 수 있어야 합니다.)
  2. 기존 gem exe 복사

    cp $(command which gem) /usr/local/bin/proxy_gem
    
  3. 즐겨찾는 편집기에서 열고 맨 위에 추가합니다(쉐방 뒤에).

    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
    
  4. 터널 설정

    ssh -D 8123 -f -C -q -N user@proxy
    
  5. 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

반응형