Один загальний проксі може не підходити для кожного джерела пакетів. Сучасний Yarn підтримує мережеві налаштування за іменем хоста, дозволяючи вибраному хосту використовувати інший маршрут, ніж типовий.

Наприклад, проєкт може зберегти один загальний маршрут і вибрати інший для внутрішнього реєстру:

httpsProxy: "http://203.0.113.10:8080"
networkSettings:
  "registry.example.internal":
    httpsProxy: "http://203.0.113.20:8080"

Обидві адреси є заповнювачами. Для загального маршруту до публічних джерел пакетів список HTTP-проксі пропонує кандидатів, коли публічні проксі дозволені. Тримайте перевизначення внутрішнього реєстру на його схваленому проксі. Розмістіть конфігурацію у відповідному .yarnrc.yml для сучасного випуску Yarn. Цей приклад вибирає два проксі; він не стверджує, що внутрішній хост має підключатися безпосередньо.

Зіставте запитане ім'я хоста

Запис networkSettings застосовується до шаблону імені хоста, а не до області пакета чи довільного шляху URL. Тримайте правило для одного хоста точним, якщо саме це ви маєте на увазі. Шаблон із зірочкою корисний лише тоді, коли ви справді хочете, щоб додаткові хости спільно використовували цю конфігурацію.

Область пакета й ім'я мережевого хоста — різні селектори. Пакет з областю можна отримати з реєстру, хост якого спільний з іншими пакетами, тоді як перенаправлений артефакт може надходити зовсім з іншого імені хоста.

Прослідкуйте повний шлях завантаження

Якщо метадані використовують один хост, а завантаження архіву — інший, вони можуть відповідати різним мережевим налаштуванням. Запишіть URL, який насправді не працює, перш ніж розширювати правило. «Реєстр працював» не встановлює, який маршрут вибрав наступний запит.

Налаштування Yarn для окремих хостів також можуть містити CA та іншу конфігурацію TLS. Тримайте ці рішення окремо: вибір адреси проксі сам по собі не дає довіри, потрібної для середовища, що перевіряє трафік.

Зробіть перевизначення видимим

Перегляньте чинну конфігурацію проєкту за допомогою інструментів, підтримуваних його випуском Yarn, потім перевірте потрібний запит. Уникайте поширення повного дампа конфігурації, якщо він містить облікові дані.

Ця функція корисна, коли хости справді потребують різних маршрутів. Якщо кожен запит має використовувати ту саму кінцеву точку, одне загальне налаштування простіше підтримувати, ніж зростаючий список однакових перевизначень імен хостів.

Схожі статті