Ruby open-uri: налаштування базової автентифікації проксі
Використовуйте окрему опцію автентифікації проксі в open-uri, не змішуючи її з обліковими даними призначення або типовими значеннями середовища.
Для проміжного облікового запису використовуйте спеціальну базову опцію проксі open-uri:
require 'open-uri'
body = URI.open(
'https://example.com/',
proxy_http_basic_authentication: [
'http://203.0.113.10:8080',
ENV.fetch('PROXY_USER'),
ENV.fetch('PROXY_PASSWORD')
],
open_timeout: 5,
read_timeout: 10
) { |response| response.read }Замініть кінцеву точку з документації та отримайте значення облікового запису з передбаченого джерела секретів. Не розміщуйте пароль у URL, який згодом може надрукувати виняток або звіт підтримки.
| Опція OpenRead | Призначення |
|---|---|
proxy_http_basic_authentication | Адреса проксі та його базові ім'я користувача/пароль. |
proxy | Вибір проксі без цієї суміщеної автентифікованої опції; якщо вказати обидві, виникає помилка аргументу. |
http_basic_authentication | Обліковий запис сервера призначення. |
proxy: nil | Зробіть це читання прямим попри типові значення середовища. |
Без явної опції проксі open-uri може використовувати змінні середовища проксі, специфічні для схеми. Автентифікована опція вже містить свою кінцеву точку; їй не потрібне друге значення proxy.
Цей інтерфейс обробляє базову автентифікацію проксі. Сервісу, що вимагає іншого механізму, потрібен сумісний клієнт або схвалена інтеграція. Залиште перевірку HTTPS увімкненою, потім перегляньте статус/вміст: робочий вхід через проксі не доводить, що призначення повернуло очікуваний ресурс.