Spec-Zone.ru › Chef 16

Работа с прокси

[править на GitHub]

В среде, где для доступа к интернету требуются прокси-серверы, многие команды Chef не будут работать, пока они не будут правильно настроены. Чтобы настроить Chef для работы в среде, требующей прокси, установите переменные среды http_proxy, https_proxy, ftp_proxy, и/или no_proxy, чтобы указать настройки прокси с использованием строчных букв.

Microsoft Windows

Чтобы определить текущий прокси-сервер на платформе Microsoft Windows:

  1. Откройте Свойства Интернета.
  2. Откройте Подключения.
  3. Откройте Настройки локальной сети.
  4. Просмотрите настройку Прокси-сервер. Если это поле пустое, значит прокси-сервер может быть недоступен.

Чтобы настроить настройки прокси в Microsoft Windows:

  1. Откройте Свойства системы.
  2. Откройте Переменные среды.
  3. Откройте Системные переменные.
  4. Установите http_proxy и https_proxy на расположение вашего прокси-сервера. Это значение ДОЛЖНО быть в нижнем регистре.

Linux

Чтобы определить текущий прокси-сервер на платформах macOS и Linux, проверьте переменные среды. Выполните следующее:

env | grep -i http_proxy

Если переменная среды установлена, она ДОЛЖНА быть в нижнем регистре. Если нет, добавьте строчную версию этой переменной прокси в оболочку (например, ~/.bashrc) с помощью одной (или нескольких) из следующих команд.

Для HTTP:

export http_proxy=http://myproxy.com:3168

Для HTTPS:

export https_proxy=http://myproxy.com:3168

Для FTP:

export ftp_proxy=ftp://myproxy.com:3168

Настройки прокси

Настройки прокси определяются в конфигурационных файлах для Chef Infra Client и для knife и могут быть указаны для HTTP, HTTPS и FTP.

HTTP

Используйте следующие настройки в файлах client.rb или config.rb для сред, которые используют HTTP-прокси:

Настройка Описание
http_proxy Прокси-сервер для HTTP-соединений. Значение по умолчанию: nil.
http_proxy_pass Пароль для прокси-сервера, когда прокси-сервер использует HTTP-соединение. Значение по умолчанию: nil.
http_proxy_user Имя пользователя для прокси-сервера, когда прокси-сервер использует HTTP-соединение. Значение по умолчанию: nil.

HTTPS

Используйте следующие настройки в файлах client.rb или config.rb для сред, которые используют HTTPS-прокси:

Настройка Описание
https_proxy Прокси-сервер для HTTPS-соединений. Значение по умолчанию: nil.
https_proxy_pass Пароль для прокси-сервера, когда прокси-сервер использует HTTPS-соединение. Значение по умолчанию: nil.
https_proxy_user Имя пользователя для прокси-сервера, когда прокси-сервер использует HTTPS-соединение. Значение по умолчанию: nil.

FTP

Используйте следующие настройки в файлах client.rb или config.rb для сред, которые используют FTP-прокси:

Настройка Описание
ftp_proxy Прокси-сервер для FTP-соединений.
ftp_proxy_pass Пароль для прокси-сервера, когда прокси-сервер использует FTP-соединение. Значение по умолчанию: nil.
ftp_proxy_user Имя пользователя для прокси-сервера, когда прокси-сервер использует FTP-соединение. Значение по умолчанию: nil.

Без прокси

Настройка no_proxy используется для указания адресов, для которых не должен использоваться прокси. Это может быть один адрес или список адресов, разделенных запятыми.

Пример:

no_proxy 'test.example.com,test.example2.com,test.example3.com'

Примечание

В списке no_proxy можно использовать подстановочные знаки, например no_proxy '*.*.example.*', однако во многих ситуациях требуется явно указывать имена хостов (т.е. «без подстановочных знаков»).

Переменные среды

Рассмотрим следующие ситуации, когда переменные среды используются для настройки прокси:

  • Настройки прокси могут не учитываться всеми приложениями. Например, настройки прокси могут игнорироваться базовым приложением при указании ftp источника с remote_file ресурсом. Рассмотрите обходной путь. Например, в этой ситуации попробуйте выполнить wget с ftp URL вместо этого.
  • Настройки прокси могут не применяться приложениями одинаково. Например, поведение настройки no_proxy может не работать с некоторыми приложениями, когда указаны подстановочные знаки. Попробуйте указывать имена хостов без подстановочных знаков.

ENV

Если http_proxy, https_proxy, ftp_proxy, или no_proxy установлены в файле client.rb, но не установлены в ENV, Chef Infra Client настроится переменную ENV на основе этих (и связанных) настроек. Например:

http_proxy 'http://proxy.example.org:8080'
http_proxy_user 'myself'
http_proxy_pass 'Password1'

Или альтернативный способ определения прокси (если предыдущий вариант не работает):

http_proxy 'http://myself:Password1@proxy.example.org:8080'

будет установлено как:

ENV['http_proxy'] = 'http://myself:Password1@proxy.example.org:8080'

© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/proxies/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API