Сведения о вопросе

Oleksandr

16:03, 1st July, 2020

Теги

ruby   proxy   rubygems   ironruby    

Как обновить Ruby Gems из-за прокси (ISA-NTLM)

Просмотров: 514   Ответов: 18

Брандмауэр, за которым я стою, работает под управлением Microsoft ISA server в режиме NTLM-only. Hash у кого-нибудь есть успех получения их Ruby драгоценных камней для установки/обновления через Ruby SSPI gem или другим способом? ...

или я просто ленивый?

Примечание: rubysspi-1.2.4 не работает.

Это также работает для "igem", части проекта IronRuby



  Сведения об ответе

COOL

18:03, 1st July, 2020

Я не смог заставить свою работу работать с помощью переключателя командной строки, но я смог сделать это, просто установив переменную окружения HTTP_PROXY . (Обратите внимание, что этот случай кажется важным). У меня есть пакетный файл, в котором есть такая строка:

SET HTTP_PROXY=http://%USER%:%PASSWORD%@%SERVER%:%PORT%

Очевидно, что я устанавливаю четыре ссылочные переменные, прежде чем перейти к этой строке. Например, если мое имя пользователя "wolfbyte", мой пароль "secret" и мой прокси-сервер называется "pigsy" и работает на порту 8080:

SET HTTP_PROXY=http://wolfbyte:secret@pigsy:8080

Вы можете быть осторожны, как вы управляете этим, потому что он хранит ваш пароль в виде обычного текста в сеансе машины, но я не думаю, что это должно быть слишком большой проблемой.


  Сведения об ответе

SILA

18:03, 1st July, 2020

Для Windows OS я использовал Fiddler, чтобы обойти эту проблему.

  1. Установить / запустить Fiddler из www.fiddler2.com
  2. Выполнить gem:

    $ gem install --http-proxy http://localhost:8888 $gem_name
    


  Сведения об ответе

SSESION

18:03, 1st July, 2020

Это полностью сработало:

gem install --http-proxy http://COMPANY.PROXY.ADDRESS $gem_name


  Сведения об ответе

Chhiki

18:03, 1st July, 2020

Я использую cntlm (http://cntlm.sourceforge.net/) на работе. Конфигурация очень похожа на ntlmaps.

Отлично работает,а также позволяет мне подключить мой ящик Ubuntu к прокси-серверу ISA.

Проверьте http://cntlm.wiki.sourceforge.net/ для получения дополнительной информации


  Сведения об ответе

DO__IT

18:03, 1st July, 2020

Я попробовал некоторые из этих решений, и ни одно из них не сработало. Я наконец нашел решение, которое работает на меня:

gem install -p http://proxy_ip:proxy_port rails

использование параметра -p для передачи прокси-сервера. Я использую версию Gem 1.9.1.


  Сведения об ответе

repe

18:03, 1st July, 2020

Это прекрасно решило мою проблему:

gem install -p http://proxy_ip:proxy_port compass

Возможно, Вам потребуется добавить к нему свое имя пользователя и пароль:

gem install -p http://[username]:[password]@proxy_ip:proxy_port compass


  Сведения об ответе

SKY

18:03, 1st July, 2020

Создайте файл .gemrc (либо в /etc/gemrc, либо в ~/.gemrc или, например, с chef gem in /opt/chef/embedded/etc/gemrc), содержащим:

http_proxy: http://proxy:3128

Тогда вы можете gem install , как обычно.


  Сведения об ответе

$DOLLAR

18:03, 1st July, 2020

Если у вас возникли проблемы с проверкой подлинности через прокси-сервер, не забудьте установить переменные среды точно в следующем формате:

set HTTP_PROXY=some.proxy.com
set HTTP_PROXY_USER=user
set HTTP_PROXY_PASS=password

Синтаксис user:password@ , похоже, не работает, и есть также некоторые плохо названные переменные среды, плавающие вокруг переполнения стека и различных сообщений форума.

Также имейте в виду, что это может занять некоторое время для ваших драгоценных камней, чтобы начать загрузку. Сначала я думал, что это не работает, но с небольшим терпением они начали загрузку, как и ожидалось.


  Сведения об ответе

padenie

18:03, 1st July, 2020

Я попробовал все вышеперечисленные решения, однако ни одно из них не сработало. Если вы находитесь на linux/macOS, я настоятельно рекомендую использовать tsocks над туннелем ssh. То, что вам нужно для того, чтобы эта установка работала, - это машина, на которой вы можете войти в систему через ssh, и в дополнение к этому установлена программа под названием tsocks.

Идея здесь заключается в создании динамического туннеля через SSH (прокси socks5). Затем мы настраиваем tsocks для использования этого туннеля и запуска наших приложений, в этом случае:

tsocks gem install ...

или отчитаться за rails 3.0:

tsocks bundle install

Более подробное руководство можно найти в разделе:

http://blog.byscripts.info/2011/04/bypass-a-proxy-with-ssh-tunnel-and-tsocks-under-ubuntu/

Несмотря на то, что эта процедура написана для Ubuntu, она должна быть применима для всех машин на базе Unix. Альтернативой tsocks для Windows является FreeCap (http://www.freecap.ru/eng/ ). Жизнеспособный клиент SSH на windows называется putty.


  Сведения об ответе

padenie

18:03, 1st July, 2020

Сообщений по этой теме предостаточно, и чтобы помочь другим сэкономить часы на попытке различных решений, вот конечный результат моих часов возни.

На данный момент в интернете существует три решения:: rubysspi apserver cntlm

rubysspi работает только с машиной Windows, AFAIK, так как он полагается на библиотеку Win32Api. Так что если вы находитесь на коробке Windows, пытаясь запустить через прокси-сервер, это решение для вас. Если вы находитесь на дистрибутиве Linux, вам не повезло.

apserver кажется мертвым проектом. Ссылка, указанная в сообщениях, которые я видел, ведет на страницу 404 на sourceforge. Я ищу "apserver" на sourceforge ничего не возвращает.

Ссылка sourceforge для cntlm, которую я видел, перенаправляет на http://cntlm.awk.cz/, но это время истекает. Поиск по sourceforge открывает эту ссылку, которая действительно работает: http://sourceforge.net/projects/cntlm/

После загрузки и настройки cntlm мне удалось установить gem через прокси, так что это, кажется, лучшее решение для Linux дистрибутивов.


  Сведения об ответе

ASSembler

18:03, 1st July, 2020

Обходной путь-установить http://apserver.sourceforge.net на локальном компьютере, настроить его и запустить gems через этот прокси.

  • Установка: просто скачайте apserver 097 (а не экспериментальный 098!) и распаковать вещи.
  • Настройка: отредактируйте файл server.cfg и поместите значения для вашего прокси MS в PARENT_PROXY и PARENT_PROXY_PORT . Введите значения для DOMAIN и USER. Оставьте PASSWORD пустым (ничего после двоеточия) – вам будет предложено при запуске его.
  • Запустить apserver: cd aps097; python main.py
  • Запуск Драгоценных Камней: gem install—http-proxy http://localhost:5865/ library


  Сведения об ответе

ASER

18:03, 1st July, 2020

Я работаю за прокси-сервером и только что установил SASS, загрузив его непосредственно с http://rubygems.org .

Затем я побежал sudo gem install [path/to/downloaded/gem/file] . Я не могу сказать, что это сработает для всех драгоценных камней, но это может помочь некоторым людям.


  Сведения об ответе

прога

18:03, 1st July, 2020

Если вы находитесь в системе *nix, используйте это:

export http_proxy=http://${proxy.host}:${port}
export https_proxy=http://${proxy.host}:${port}

а потом попробуй:

gem install ${gem_name}


  Сведения об ответе

crush

18:03, 1st July, 2020

Это сработало для меня в коробке 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.


  Сведения об ответе

VERSUION

18:03, 1st July, 2020

rubysspi-1.3.1 работал для меня на Windows 7, используя инструкции с этой страницы:

http://www.stuartellis.eu/articles/installing-ruby/


  Сведения об ответе

LAST

18:03, 1st July, 2020

Если вы хотите использовать прокси SOCKS5, вы можете попробовать rubygems-socksproxy https://github.com/gussan/rubygems-socksproxy .

Это работает для меня на OSX 10.9.3.


  Сведения об ответе

ASSembler

18:03, 1st July, 2020

Вместо того, чтобы редактировать пакетные файлы (что вам, возможно, придется сделать для других Ruby gems, например Bundler), вероятно, лучше сделать это один раз и сделать это правильно.

На Windows, позади моего корпоративного прокси, все, что мне нужно было сделать, это добавить переменную окружения HTTP_PROXY в мою систему.

  1. Пуск - > щелкните правой кнопкой мыши Компьютер - > Свойства
  2. Выберите "Advanced System Settings"
  3. Щелкните Дополнительно - > Переменные Среды
  4. Создайте новую системную переменную с именем " HTTP_PROXY " и задайте значение для вашего прокси-сервера
  5. Перезагрузка или выход из системы и снова вход

В зависимости от ваших требований к аутентификации значение HTTP_PROXY может быть таким же простым, как:

http://proxy-server-name

Или более сложные, как указывали другие

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


  Сведения об ответе

lesha

18:03, 1st July, 2020

Если за прокси-сервером вы можете перейти к Ruby загрузкам, нажмите кнопку Загрузить, которая загрузит указанное обновление ( или Gem ) в нужное место.

Далее, через командную строку Ruby, перейдите к загруженному местоположению с помощью: pushd [directory]

например: pushd D:\Setups

затем выполните следующую команду: gem install [update name] --local

например: gem install rubygems-update --local .

Проверено на Windows 7 с Ruby обновленной версией 2.4.1.

Для проверки используйте следующую команду: ruby -v


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться