Boto3 chấp nhận một chính sách proxy tường minh thông qua đối tượng Config của 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)

Các khóa của bản đồ chọn giao thức đích. Các giá trị mô tả điểm cuối proxy. Ví dụ này gửi cả yêu cầu dịch vụ HTTP và HTTPS qua một proxy HTTP chuyển tiếp. Để kiểm thử một điểm cuối AWS công khai được phép mà không có tài khoản proxy, một mục HTTP từ danh sách proxy HTTP có thể cung cấp hai URL đó.

Một giá trị https:// thay vào đó sẽ cần một trình lắng nghe proxy chấp nhận kết nối TLS từ ứng dụng khách. Đừng đổi lược đồ của giá trị chỉ để khớp với khóa HTTPS.

Config.proxies ghi đè việc chọn proxy từ các biến môi trường HTTP_PROXY và HTTPS_PROXY cho ứng dụng khách đó. Các ứng dụng khách khác có thể được tạo bằng đối tượng Config riêng; việc tạo cái này không thay đổi biến môi trường toàn tiến trình.

Giữ lại mọi tùy chọn ứng dụng khách cần thiết khác, như vùng và chính sách thử lại, khi tích hợp điều này vào một ứng dụng. Thông tin xác thực AWS vẫn nằm trong cấu hình thông tin xác thực thông thường của ứng dụng. Không cần sửa đổi EndpointCreator hay một phương thức riêng tư khác của botocore.

Đối với kết nối TLS tới proxy HTTPS, Config cũng có các tùy chọn proxies_config như proxy_ca_bundle và proxy_client_cert. Chúng liên quan đến tin cậy và xác thực chứng chỉ ứng dụng khách trên kết nối proxy. Chúng tách biệt với việc chọn điểm cuối dịch vụ AWS hoặc ký các yêu cầu AWS API.

Bài viết liên quan