Python için Alibaba Cloud SDK V1.0 varsayılan olarak HTTP kullanır ve HTTPS etkinleştirildiğinde TLS sertifikalarını doğrular. HTTPS'e geçiş yapmayı, test amacıyla sertifika doğrulamayı devre dışı bırakmayı ve kurumsal ağ ortamları için özel bir CA sertifikası sağlamayı öğrenin.
V1.0 SDK varsayılanlarını anlayın
V1.0 SDK, V2.0 SDK'lardan iki temel konuda farklı davranır:
Varsayılan protokol HTTP'dir: V1.0 SDK varsayılan olarak HTTPS kullanmaz. V2.0 SDK'larının aksine, iletim halindeki verileri şifrelemek için her istekte açıkça HTTPS ayarlamanız gerekir.
Sertifika doğrulama varsayılan olarak etkindir: HTTPS kullandığınızda SDK sunucunun TLS sertifikasını otomatik olarak doğrular.
İstek protokolünü ayarlayın
HTTPS'i etkinleştirmek için her istek nesnesinde set_protocol_type('https') yöntemini çağırın. HTTPS SDK'nın varsayılanı olmadığından bu çağrıyı atlamanız isteğin HTTP üzerinden gönderilmesine neden olur.
from aliyunsdkecs.request.v20140526.DescribeInstancesRequest import DescribeInstancesRequest
from aliyunsdkcore.client import AcsClient
# Initialize the client.
# For credential setup, see the V1.0 SDK documentation.
client = AcsClient(
region_id='<region_id>', # The region ID.
)
request = DescribeInstancesRequest()
request.set_protocol_type('https') # Send this request over HTTPS.
client.do_action_with_exception(request)
TLS sertifika doğrulamasını devre dışı bırakın
Sertifika doğrulamayı yalnızca güvenilir test ortamlarında devre dışı bırakın. verify=False ayarıyla SDK sunucunun sunduğu herhangi bir sertifikayı kabul eder; ana adı uyuşmazlıklarını ve süresi dolmuş sertifikaları yok sayar. Bu durum uygulamanızı ara konum saldırılarına karşı savunmasız bırakır. Bu ayarı üretim ortamlarında asla kullanmayın.
Bu istemci tarafından yapılan tüm istekler için sertifika doğrulamayı devre dışı bırakmak üzere AcsClient başlatılırken verify=False değerini ayarlayın.
from aliyunsdkcore.client import AcsClient
# Initialize the client.
# For credential setup, see the V1.0 SDK documentation.
client = AcsClient(
region_id='<region_id>', # The region ID.
verify=False # Disables certificate validation for all requests from this client.
)
Özel bir CA sertifikası kullanın
TLS bağlantısını kendi sertifikasıyla sonlandıran bir proxy'nin bulunduğu kurumsal ağlarda CA sertifika dosyanızın yolunu verify parametresine iletin. Dosya .pem biçiminde olmalıdır. Bu ayar istemci tarafından yapılan tüm istekler için geçerlidir.
from aliyunsdkcore.client import AcsClient
# Initialize the client.
# For credential setup, see the V1.0 SDK documentation.
client = AcsClient(
region_id='<region_id>', # The region ID.
verify='./cacert.pem' # Path to your CA certificate file in PEM format.
)