概要
Object Storage Service (OSS) バケットに保存されているリソースにHTTPまたはHTTPSでアクセスできます。 ただし、HTTPリクエストにはセキュリティの脆弱性が存在します。 バケットの攻撃を防ぐには、HTTPS経由でOSSリソースにアクセスします。 このトピックでは、HTTPS経由でOSSリソースにアクセスする方法について説明します。
変更方法
次のいずれかの方法を使用して、ビジネス要件に基づいてHTTPS経由でOSSリソースにアクセスできます。
Alibaba Cloudインスタンスの設定やデータの変更など、リスクの高い操作を実行する前に、インスタンスのディザスタリカバリ機能とフォールトトレランス機能を確認して、データのセキュリティを確保することを推奨します。
ECS (Elastic Compute Service) インスタンスやApsaraDB RDSインスタンスなどのインスタンスの設定またはデータを変更する前に、インスタンスのスナップショットを作成するか、バックアップを有効にすることを推奨します。 たとえば、ApsaraDB RDSインスタンスのログバックアップを有効にできます。
Alibaba Cloud管理コンソールで機密情報に対する権限を付与した場合、または機密情報を送信した場合は、できるだけ早い機会に機密情報を変更することを推奨します。 機密情報には、ユーザー名とパスワードが含まれます。
バケットのドメイン名を使用してOSSリソースにアクセス
HTTPS経由でOSSリソースにアクセスするために使用できるバケットドメイン名を表示するには、次の手順を実行します。OSSコンソールにログインします。 左側のナビゲーションウィンドウで、[バケット] をクリックします。 アクセスするバケットを見つけて、バケット名をクリックします。 表示されるページで、[概要] をクリックします。 [ポート] セクションで、バケットドメイン名を表示し、HTTPSが有効になっているかどうかを確認します。
カスタムドメイン名を使用して、画像や静的HTMLリソースをオンラインでプレビューすることはできません。 カスタムドメイン名を使用してリソースにアクセスすると、リソースは自動的にダウンロードされます。 カスタムドメイン名をバケットにマップすることを推奨します。
カスタムドメイン名をバケットにマッピング
カスタムドメイン名をバケットにマッピングし、そのドメイン名を使用してOSSリソースにアクセスします。 詳細については、「カスタムドメイン名のマップ」をご参照ください。 ドメイン名のSSL証明書ホスティングを設定して、HTTPS経由でOSSリソースにアクセスすることもできます。 証明書ホスティングの設定方法の詳細については、「SSL証明書のホスト」をご参照ください。
HTTPSなどの1つのプロトコルを使用して、すべてのリクエストがバケット内のリソースに強制的にアクセスする場合は、バケットポリシーの構文を指定する必要があります。 詳細については、「HTTPSリクエストとSSL証明書の設定方法」をご参照ください。
Alibaba Cloud CDNを使用したOSSリソースへのアクセスの高速化
Alibaba Cloud CDNはHTTPSリクエストをサポートしています。 Alibaba Cloud CDNを使用してOSSリソースへのアクセスを高速化し、SSL証明書を設定してHTTPSアクセスを有効にすることができます。
高速化ドメイン名をOSSバケットにマップする方法の詳細については、「高速化ドメイン名のマップ」をご参照ください。
高速化ドメイン名にSSL証明書を設定する方法の詳細については、「SSL証明書の設定」をご参照ください。
OSSへのアクセスのためのリバースプロキシの設定
ECSインスタンスにNGINXサービスをインストールし、HTTPS経由でOSSリソースにアクセスするようにリバースプロキシを設定します。 詳細については、「CentOSを実行するECSインスタンスを使用して、OSSにアクセスするためのリバースプロキシを設定する」をご参照ください。
HTTPSアクセス障害のトラブルシューティング
次の手順を実行して、HTTPSアクセス障害をトラブルシューティングします。
SSL証明書が無効かどうか、およびブラウザーで解析された証明書が使用するドメイン名と一致するかどうかを確認します。 カスタムドメイン名または高速化ドメイン名を使用してOSSリソースにアクセスする場合、証明書情報がドメイン名と一致しない場合があります。
アクセスが停止したことを示すエラーメッセージがブラウザで返されていないか確認してください。 エラーメッセージが表示された場合は、ドメイン名にSSL証明書が設定されているかどうかを確認し、
telnet
コマンドを実行してポート443が有効になっていて接続できるかどうかを確認します。
参考資料
HTTPS経由で特定のOSSリソースへのアクセスをユーザーに許可する方法の詳細については、「バケットポリシーを設定して他のユーザーにOSSリソースへのアクセスを許可する」をご参照ください。