Boto3 מקבל מדיניות פרוקסי מפורשת דרך אובייקט Config של botocore:

import boto3
from botocore.config import Config

network = Config(proxies={
    'http': 'http://proxy.example:8080',
    'https': 'http://proxy.example:8080',
})
s3 = boto3.client('s3', config=network)

המפתחות במפה בוחרים את פרוטוקול היעד. הערכים מתארים את נקודת הקצה של הפרוקסי. הדוגמה הזו שולחת גם בקשות שירות HTTP וגם HTTPS דרך פרוקסי HTTP קדמי אחד. לבדיקה מורשית של נקודת קצה ציבורית של AWS בלי חשבון פרוקסי, רשומת HTTP מרשימת פרוקסי HTTP יכולה לספק את שתי הכתובות האלה.

ערך https:// ידרוש במקום זאת מאזין פרוקסי שמקבל חיבור TLS מהלקוח. אל תשנו את הסכימה של הערך רק כדי להתאים למפתח HTTPS.

Config.proxies עוקף את בחירת הפרוקסי ממשתני הסביבה HTTP_PROXY ו-HTTPS_PROXY עבור אותו לקוח. לקוחות אחרים יכולים להיבנות עם אובייקטי Config משלהם; בניית זה לא משנה משתנה סביבה ברמת התהליך.

שמרו על כל אפשרות לקוח נדרשת אחרת, כמו אזור ומדיניות ניסיון חוזר, כשמשלבים את זה ביישום. פרטי הכניסה של AWS נשארים בתצורת פרטי הכניסה הרגילה של היישום. אין צורך לשנות את EndpointCreator או מתודה פרטית אחרת של botocore.

לחיבור TLS לפרוקסי HTTPS, ל-Config יש גם אפשרויות proxies_config כמו proxy_ca_bundle ו-proxy_client_cert. הן נוגעות לאמון ולאימות תעודת לקוח בחיבור הפרוקסי. הן נפרדות מבחירת נקודת הקצה של שירות AWS או מחתימת בקשות AWS API.

מאמרים קשורים