중간 계정에는 open-uri의 전용 Basic 프록시 옵션을 사용하세요:

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프록시 주소와 그 Basic 사용자 이름/비밀번호.
proxy그 결합 인증 옵션 없이 프록시를 선택합니다. 둘 다 제공하면 인자 오류가 발생합니다.
http_basic_authentication대상 서버의 계정.
proxy: nil환경 기본값이 있더라도 이 읽기를 직접 수행하게 하세요.

명시적 프록시 옵션이 없으면 open-uri는 스킴별 프록시 환경 변수를 사용할 수 있습니다. 인증 옵션은 이미 엔드포인트를 포함하므로 두 번째 proxy 값이 필요하지 않습니다.

이 인터페이스는 Basic 프록시 인증을 처리합니다. 다른 방식을 요구하는 서비스에는 호환되는 클라이언트나 승인된 통합이 필요합니다. HTTPS 검증을 켜 둔 채로 상태/내용을 적절히 확인하세요. 동작하는 프록시 로그인은 대상이 기대한 리소스를 반환했음을 증명하지 않습니다.

관련 글