すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:カスタムドメイン名による OSS へのアクセス

最終更新日:Sep 17, 2026

OSS バケットのエンドポイントは、プレビューをレンダリングするのではなく、ファイルのダウンロードを強制します。ブラウザ内プレビューと柔軟なアクセス制御を有効にするには、カスタムドメインをバケットにマッピングします。

重要
  • 2025年3月20日 00:00:00 (UTC+8) 以降、新規 OSS ユーザーは、デフォルトのパブリックエンドポイント (例:oss-cn-hangzhou.aliyuncs.com) 経由では、中国本土リージョンにあるバケットのデータ API にアクセスできなくなります。これらのリクエストは PublicEndpointForbidden エラー (HTTP 400、EC 0048-00000401) で拒否されます。これらの API へのパブリックアクセスを維持するには、OSS Update Notice に記載のとおり、カスタムドメインを使用する必要があります。

  • カスタムドメイン名をマッピングする前に、登録済みのドメイン名があることを確認するか、新規登録をしてください。 バケットが中国本土にある場合、マッピングするドメイン名には ICP 登録が必要です。 バケットが中国本土以外のリージョン (中国 (香港) やシンガポールなど) にある場合、マッピングするカスタムドメイン名に ICP 登録は不要です。 中国本土から中国本土以外のバケットへのクロスボーダーアクセスでは、ネットワーク遅延が大きくなる可能性があります。 ユーザーの所在地に基づいてバケットリージョンを選択してください。

仕組み

CNAME レコードは、カスタムドメインをバケットのエンドポイントにマッピングします。ユーザーがカスタムドメインにアクセスすると、DNS が CNAME を解決し、リクエストをバケットのエンドポイントにルーティングします。

ニーズに応じてマッピング方法を選択してください。

パブリック エンドポイントへのドメイン名のマッピング

ドメインをパブリック エンドポイントにマッピングして、静的ファイル (画像、スクリプト) をホストし、オンラインプレビューを有効にします。

ステップ 1: バケットへのドメインのマッピング

  1. [バケット] ページに移動して目的のバケット名をクリックし、左側のナビゲーションペインで [バケット設定] > [ドメイン名] をクリックします。

  2. [カスタムドメイン名のマッピング] をクリックし、 oss-example.cn などのマッピングするドメインを入力します。 システムは、ドメインがマッピング要件を満たしているかどうかを自動的にチェックします。

    image

  3. 確認が完了したら、ドメインをバケットにマッピングします。

    直接マッピング

    ドメインが現在の Alibaba Cloud アカウントに属している場合は、直接マッピングします。 [確認] をクリックして、ドメインをバケットにマッピングします。

    image

    ドメイン所有権の検証とマッピング

    ドメインが別の Alibaba Cloud アカウントに属している場合、または別の DNS プロバイダーを使用している場合は、まずドメイン所有権を検証します。以下の手順では、別の Alibaba Cloud アカウントが所有するドメインの場合の手順を説明します。

    1. ドメインを所有するアカウントでAlibaba Cloud DNS コンソールにログインします。対象ドメインの操作列で、[設定] をクリックします。

    2. [レコードの追加] をクリックします。以下のようにレコード情報を入力し、その他の設定はデフォルト値のままにします。

      • [レコードタイプ]: [TXT] を選択します。

      • [ホスト名]: OSS コンソールに表示されるホスト名 ( _dnsauth など) を入力します。 サブドメイン ( image.oss-example.cn など) をマッピングする場合は、ホスト名にサブドメインプレフィックスを追加します。 たとえば、 _dnsauth.image のようにします。

      • [レコード値]: OSS コンソールに表示されるレコード値 (例: 21a0****************************) を入力します。

    3. [OK] をクリックします。 表示される [リソースレコードの変更確認] ダイアログボックスで、再度 [OK] をクリックします。

    4. OSS コンソールに戻り、 [ドメイン名の所有権を検証] をクリックします。これにより、ドメインがバケットにマッピングされます。DNS レコードが有効になるまでに時間がかかる場合があります。エラーが表示された場合は、数分待ってから再試行してください。

    説明

    TXT レコードはドメイン所有権の検証にのみ使用されます。検証が成功した後は削除してください。その後の使用には影響しません。

ステップ 2: パブリック エンドポイントを指す CNAME レコードの設定

ドメインをバケットにマッピングした後、CNAME ドメイン名 (推奨) またはパブリック エンドポイントを指す CNAME レコードを設定して、有効にします。

重要

CNAME レコードを作成する前に、カスタムドメイン名を対象バケットにマッピングする必要があります。このマッピングがないと、リクエストが正しいバケットに解決されず、予期しないコンテンツが返されることがあります。

ドメインマッピングを削除する場合は、対応する CNAME レコードも削除して、ルーティングエラーを防いでください。

自動設定

ドメインが現在の Alibaba Cloud アカウントに属する場合、ドメインのマッピング後にコンソールで [CNAME レコードを自動的に追加] を有効にします。システムにより、Alibaba Cloud DNS にドメインの CNAME レコードが自動的に追加されます。

説明

同じホスト名のレコードがすでに存在するために CNAME レコードを自動で追加できない旨のメッセージが表示された場合、そのドメインには CNAME レコードがすでに作成されています。Alibaba Cloud DNS コンソールにログオンして、CNAME レコードがまだ使用されているかどうかを確認してください。使用されていない場合は削除してから、正しい CNAME レコードを追加してください。

image

手動設定

ドメインに対して CNAME レコードがすでに存在する場合、またはドメインが別の Alibaba Cloud アカウントまたは DNS プロバイダーに属している場合は、DNS プロバイダーで CNAME レコードを設定する必要があります。以下の手順では、Alibaba Cloud DNS を使用して CNAME レコードを設定する手順を説明します。

  1. バケット」ページに移動し、目的のバケット名をクリックして、左側のナビゲーションペインで [概要] をクリックします。[インターネット経由のアクセス] の右側にある [CNAME ドメイン名] (推奨) または [バケットドメイン名] をコピーします。

  2. ドメインを所有するアカウントで Alibaba Cloud DNS コンソールにログインします。対象ドメインの「操作」列で、 [設定]をクリックします。

  3. [レコードの追加] をクリックします。下記の説明に従ってレコード情報を入力し、その他の設定はデフォルト値のままにします。

    説明

    CNAME レコードがすでに存在する場合、そのレコードの操作列で[編集]をクリックし、レコード値を CNAME ドメイン名 (推奨) または OSS バケットのパブリックエンドポイントに変更します。

    • [レコードタイプ] には、[CNAME] を選択します。

    • [ホスト名]: APEX ドメイン (ルートドメイン) をマッピングする場合は、 @ を入力します。image.oss-example.cn のようなサブドメインをマッピングする場合は、サブドメインプレフィックス (たとえば image) を入力します。

    • [レコード値]: CNAME ドメイン (推奨) またはパブリックエンドポイント (p******.cn-hangzhou.taihang***.cn や pub******.oss-cn-hangzhou.aliyuncs.com など) を入力します。

  4. [OK] をクリックします。表示される [リソースレコードの変更確認] ダイアログボックスで、再度 [OK] をクリックして DNS 設定を完了します。

重要

DNS 伝播は TTL 設定に依存し、数分から数時間かかる場合があります。ドメインにすぐにアクセスできない場合は、しばらく待つか、ローカル DNS キャッシュをクリアしてください。

ステップ 3: カスタムドメイン名によるアクセスの確認

ドメインマッピングと DNS 設定が完了したら、バケットのアクセス制御リスト (ACL) 設定に基づいて検証方法を選択します。

公開読み取りおよび公開読み取り/書き込みバケット

ブラウザーからバケット内のオブジェクトにアクセスするには、URL 形式 http://your_domain_name/object_path を使用します。ここで、 your_domain_name はマッピングされたカスタムドメインで、 object_path はバケット内のオブジェクトのアクセスパスです。 たとえば、オブジェクト dest.jpg がバケットの exampledir ディレクトリに保存されている場合、 object_path は exampledir/dest.jpg になります。 次の図にアクセス結果を示します。

image

非公開バケット

非公開バケットへのアクセスには、署名付き URL が必要です。以下の手順では、コンソールから署名付き URL を取得する手順を説明します。プログラムで署名を生成するには、署名バージョン 4 (推奨) を使用してください。

  1. バケットページに移動し、対象バケットの名前をクリックします。

  2. アクセスしたい対象オブジェクトの「操作」列で、[詳細の表示] をクリックします。

  3. ドメインを[カスタムドメイン名]に設定し、ドロップダウンリストからマッピング済みのカスタムドメインを選択して、[オブジェクト URL のコピー]をクリックします。

  4. ブラウザでその URL にアクセスします。アクセス結果は次の図のようになります。

image

アクセラレーションエンドポイントへのドメインのマッピング

クロスリージョンのデータ転送 (アップロードとダウンロード) を高速化するには、ドメインをバケットにマッピングし、転送アクセラレーションを有効にして、CNAME レコードをアクセラレーションエンドポイントに設定します。

ステップ 1:バケットへのドメインのマッピング

  1. [バケット] ページに移動して目的のバケット名をクリックし、左側のナビゲーションペインで [バケット設定] > [ドメイン名] をクリックします。

  2. [カスタムドメイン名のマッピング] をクリックし、 oss-example.cn などのマッピングするドメインを入力します。 システムは、ドメインがマッピング要件を満たしているかどうかを自動的にチェックします。

    image

  3. 確認が完了したら、ドメインをバケットにマッピングします。

    直接マッピング

    ドメインが現在の Alibaba Cloud アカウントに属している場合は、直接マッピングします。 [確認] をクリックして、ドメインをバケットにマッピングします。

    image

    ドメイン所有権の検証とマッピング

    ドメインが別の Alibaba Cloud アカウントに属している場合、または別の DNS プロバイダーを使用している場合は、まずドメイン所有権を検証します。以下の手順では、別の Alibaba Cloud アカウントが所有するドメインの場合の手順を説明します。

    1. ドメインを所有するアカウントでAlibaba Cloud DNS コンソールにログインします。対象ドメインの操作列で、[設定] をクリックします。

    2. [レコードの追加] をクリックします。以下のようにレコード情報を入力し、その他の設定はデフォルト値のままにします。

      • [レコードタイプ]: [TXT] を選択します。

      • [ホスト名]: OSS コンソールに表示されるホスト名 ( _dnsauth など) を入力します。 サブドメイン ( image.oss-example.cn など) をマッピングする場合は、ホスト名にサブドメインプレフィックスを追加します。 たとえば、 _dnsauth.image のようにします。

      • [レコード値]: OSS コンソールに表示されるレコード値 (例: 21a0****************************) を入力します。

    3. [OK] をクリックします。 表示される [リソースレコードの変更確認] ダイアログボックスで、再度 [OK] をクリックします。

    4. OSS コンソールに戻り、 [ドメイン名の所有権を検証] をクリックします。これにより、ドメインがバケットにマッピングされます。DNS レコードが有効になるまでに時間がかかる場合があります。エラーが表示された場合は、数分待ってから再試行してください。

    説明

    TXT レコードはドメイン所有権の検証にのみ使用されます。検証が成功した後は削除してください。その後の使用には影響しません。

ステップ 2:転送アクセラレーションの有効化

  1.  [バケット] ページに移動し、目的のバケットの名前をクリックして、左側のナビゲーションペインで [バケット設定] > [伝送高速化] をクリックします

  2. [転送アクセラレーションの有効化] をクリックします。表示されるダイアログボックスで、注意事項をよくお読みになり、[OK] をクリックします。

  3. [アクセラレーションエンドポイント]をコピーします。

ステップ 3:アクセラレーションエンドポイントを指す CNAME レコードの設定

以下の手順では、Alibaba Cloud DNS を使用して CNAME レコードを設定する方法を説明します。

重要

転送アクセラレーションエンドポイントの CNAME レコードを作成する前に、カスタムドメインを対象バケットにマッピングする必要があります。このマッピングがないと、リクエストを正しいバケットに解決できず、予期しないコンテンツが返される可能性があります。

ドメインマッピングを削除する場合は、対応する CNAME レコードも削除して、ルーティングエラーを防いでください。

  1. ドメインを所有するアカウントで Alibaba Cloud DNS コンソールにログインします。対象のドメインの 操作 列で、 [設定] をクリックします。

  2. [レコードの追加] をクリックします。下記の説明に従ってレコード情報を入力し、その他の設定はデフォルト値のままにします。

    説明

    CNAME レコードがすでに存在する場合は、そのレコードの操作列にある[編集]をクリックし、レコード値を[アクセラレーションエンドポイント]に変更します。

    • [レコードタイプ]には、[CNAME] を選択します。

    • [ホスト名]: エイペックスドメイン (ルートドメイン) をマッピングする場合は、 @ を入力します。 image.oss-example.cn などのサブドメインをマッピングする場合は、サブドメインのプレフィックス (例: image) を入力します。

    • [レコード値]、[アクセラレーションエンドポイント] を入力します。

  3. [OK] をクリックします。表示される [リソースレコードの変更確認] ダイアログボックスで、再度 [OK] をクリックすると、DNS 設定が完了します。

説明

DNS 伝播は TTL 設定に依存し、数分から数時間かかる場合があります。ドメインにすぐにアクセスできない場合は、しばらく待つか、ローカル DNS キャッシュをクリアしてください。

ステップ 4:カスタムドメイン名によるアクセスの確認

ドメインマッピングと DNS 設定が完了したら、バケットのアクセス制御リスト (ACL) 設定に基づいて検証方法を選択します。

公開読み取りおよび公開読み取り/書き込みバケット

ブラウザーからバケット内のオブジェクトにアクセスするには、URL 形式 http://your_domain_name/object_path を使用します。ここで、 your_domain_name はマッピングされたカスタムドメインで、 object_path はバケット内のオブジェクトのアクセスパスです。 たとえば、オブジェクト dest.jpg がバケットの exampledir ディレクトリに保存されている場合、 object_path は exampledir/dest.jpg になります。 次の図にアクセス結果を示します。

image

非公開バケット

非公開バケットへのアクセスには、署名付き URL が必要です。以下の手順では、コンソールから署名付き URL を取得する手順を説明します。プログラムで署名を生成するには、署名バージョン 4 (推奨) を使用してください。

  1. バケットページに移動し、対象バケットの名前をクリックします。

  2. アクセスしたい対象オブジェクトの「操作」列で、[詳細の表示] をクリックします。

  3. ドメインを[カスタムドメイン名]に設定し、ドロップダウンリストからマッピング済みのカスタムドメインを選択して、[オブジェクト URL のコピー]をクリックします。

  4. ブラウザでその URL にアクセスします。アクセス結果は次の図のようになります。

image

本番環境に適用

ベストプラクティス

  • セキュアな転送:HTTPS の有効化

    カスタムドメインに SSL 証明書を設定 して HTTPS を強制します。TLS/SSL は転送中のデータを暗号化し、傍受や改ざんを防ぎ、ブラウザの「Not Secure」警告を解消します。

  • クロスオリジンアクセス:CORS ルールの設定

    https://web.example.cn のフロントエンドアプリケーションが https://oss.example.cn の OSS リソースにアクセスする場合、CORS ルールを設定 してクロスオリジンリクエストを許可し、不正なアクセスをブロックします。

  • ゼロダウンタイム切り替え:ダウンタイムなしのドメイン切り替え

    バケットエンドポイントからマッピングしたカスタムドメインに切り替える必要がある場合は、サービスの中断を避けるために、次の段階的な戦略を使用します。

    1. 準備フェーズ:カスタムドメインをバケットにマッピングし、CNAME レコードを設定します。テスト環境では、hosts ファイルまたはテストドメインを使用して、新しいカスタムドメイン設定の機能とパフォーマンスを十分に検証します。すべての機能が期待どおりに動作することを確認します。

    2. カナリアリリースフェーズ (オフピーク時間に推奨):トラフィックの一部を段階的にカスタムドメインに切り替えます。この段階的なアプローチにより、切り替えに伴うリスクを最小限に抑えることができます。

    3. 検証フェーズ:アクセスログとエラー率を注意深く監視します。応答時間や成功率などの主要なメトリクスを分析して、サービスの安定性を確保します。

    4. 完全リリースフェーズ:徹底的な検証の後、すべてのトラフィックをカスタムドメインに移行して、ドメイン移行を完了します。

    5. ロールバックプレイブック:問題が発生した場合は、すぐにバケットエンドポイントにロールバックし、根本原因を分析して、再デプロイします。

  • パフォーマンスとセキュリティ:サブドメインによるドメイン分離

    ウェブアセット用の static.example.com や画像用の images.example.com など、目的ごとにサブドメインを割り当てます。ドメイン分離は、ブラウザの同時接続を最適化し、独立したキャッシングを可能にし、きめ細かなセキュリティポリシーの適用を可能にします。

  • 機能拡張:静的ウェブサイトのホスティング

    OSS で完全な静的ウェブサイト (HTML、CSS、JS ファイルを含む) をホストするには、カスタムドメインをマッピングした後、静的ウェブサイトホスティング を設定します。これにより、デフォルトのホームページや 404 エラーページなどの基本的なウェブサイト機能が有効になります。

  • 注目すべきパフォーマンス最適化:CDN アクセラレーションの設定

    世界中のユーザーに静的リソースを配信する必要があるユースケースでは、カスタムドメインに対して CDN アクセラレーション サービスを設定することを推奨します。これにより、グローバルに分散されたエッジノードにコンテンツがキャッシュされ、アクセスレイテンシーの低減、高い同時実行性、およびユーザーエクスペリエンスの向上が実現します。

リスク軽減

  • 帯域幅盗用の防止:Refererベースのホットリンク保護の設定

    他のウェブサイトがリソースをホットリンクし、不要なトラフィックコストが発生するのを防ぐには、ホットリンク保護ポリシーを使用してデータ転送の不正利用を防止します。ホワイトリストによってアクセス元を制限し、コストを管理してリソースを保護します。

  • 振る舞い監査とトラブルシューティング:アクセスログの有効化

    リアルタイムログクエリ を有効にすると、セキュリティ監査、パフォーマンス分析、トラブルシューティングのためにアクセス詳細 (時間、ソース IP、リクエストタイプ、レスポンスステータス) を記録できます。

制限事項

  • マッピングの制限:各バケットには、最大 100 個のカスタムドメイン名をマッピングできます。

  • ドメインの一意性:カスタムドメイン名は、一度に 1 つの バケットにのみマッピングできます。マッピングを変更するには、まず元の バケットからドメインのマッピングを解除して、ドメイン名に一意の宛先と明確なアクセスパスを確保する必要があります。

    説明

    レガシーの画像処理機能を使用している一部のユーザーは、画像処理にすでに使用されているドメインをバケットにマッピングできません。新しい画像処理機能には、この制限はありません。

  • ドメイン名のタイプ:中国語ドメインおよび *.example.cn などのワイルドカードドメインを OSS バケットに直接マッピングすることはサポートされていません。これは、DNS 名前解決の安定性と互換性を確保するためです。

    説明

    ただし、コンテンツデリバリーネットワーク (CDN) を使用して OSS へのアクセスを高速化する場合に限り、CDN 側でワイルドカードドメインをマッピングできます。この場合、マッピングしたドメインは OSS コンソールには表示されません。

よくある質問

API 経由でドメインをマッピングする際に NeedVerifyDomainOwnership エラーが発生した場合はどうすればよいですか?

このエラーは、ドメインの所有権が検証されていないことを示します。次の手順に従ってドメイン所有権を検証します:

  1. CreateCnameToken API を呼び出して、ドメイン所有権の検証に必要な CnameToken を作成します。

    説明

    デフォルトでは、CnameToken は作成後 72 時間で有効期限が切れます。有効期限が切れる前に再度トークンを作成しようとすると、既存の CnameToken が返されます。

  2. このドキュメントの手順に従って、DNS プロバイダーで TXT レコードを設定し、ドメイン所有権の検証を完了してください。

  3. PutCname API を呼び出して、カスタムドメイン名をマッピングします。

CDN で TXT レコードの検証を完了している場合、OSS で再度ドメイン所有権を検証する必要がありますか?

CDN と OSS のドメイン所有権の検証は互いに独立しています。CDN で TXT レコードの検証を完了しても、自動的に OSS に適用されるわけではありません。カスタムドメインを OSS バケットにマッピングする場合、OSS で別途ドメイン所有権の検証 (TXT レコードの検証) を完了する必要があります。TXT レコードの設定手順については、このトピックの前の「直接マッピング」と「ドメイン所有権の検証」のセクションをご参照ください。

ドメインが現在の Alibaba Cloud アカウントに属している場合は、TXT レコードの検証なしで直接マッピングできます。API 経由でドメインをマッピングする際に NeedVerifyDomainOwnership エラーが発生した場合、これはドメイン所有権の検証が完了していないことを示します。マッピングが成功する前に、TXT レコードの検証を完了する必要があります。

アクセラレーションエンドポイント経由でリソースにアクセスする際に 502 または 504 エラーが発生した場合はどうすればよいですか?

OSS 転送アクセラレーションは、ネットワークの変動に適応するために伝送パスを動的に切り替えます。パスの切り替え中に、一部のリクエストが中断され、502 または 504 エラーが発生することがあります。これを完全に回避することはできません。クライアントコードにエクスポネンシャルバックオフの再試行ロジックを実装して、これらの一時的な障害に対応してください。

名前解決の失敗や接続タイムアウトなどのネットワークエラーのトラブルシューティングはどのように行いますか?

OSS から応答を受け取った場合は、リクエスト ID を取得し、OSS セルフサービス診断ツールを使用して問題を診断してください。

リクエストが OSS サーバーに到達する前に中断された場合、つまり リクエスト ID が空の場合は、次の手順に従ってトラブルシューティングを行ってください:

  • 接続が拒否されました: このエラーは通常、クライアントと OSS が同じリージョンにあるにもかかわらずポートがブロックされているか、内部エンドポイントがクロスリージョンアクセスに使用されていることを示します。確認の上、正しいパブリックエンドポイントを使用してアクセスしてください。また、ping コマンドと telnet コマンドを使用して、クライアント側のファイアウォール設定やネットワーク接続の制限を確認してください。

  • 接続タイムアウト: これは通常、ネットワーク環境が悪いか、タイムアウト設定が短いことが原因です。SDK の接続タイムアウトと読み取りタイムアウトの値を増やし、再試行メカニズムを有効にしてください。大きなファイルを転送する場合は、マルチパートアップロード再開可能なアップロードを使用して、転送の安定性を向上させます。ネットワークリンクの問題である場合は、CDN または OSS 転送アクセラレーションサービスの使用を検討してください。

  • ソケットタイムアウトまたはソケットクローズ: これは、OSS への接続がタイムアウトしたか、予期せずクローズされたことを示します。SDK 設定でソケットタイムアウトを増やしてください (例:Java SDK の ClientConfiguration.setSocketTimeout メソッド)。

  • 接続のリセット: エンドポイント設定の誤りや、バケットがセキュリティ上の理由で制限されているなど、さまざまな理由で接続がリセットされました。次の順序でトラブルシューティングを行ってください:

    1. ping または Alibaba Cloud Kunlun 診断ツールを使用して、クライアントのネットワーク接続が正常かどうかを確認してください。

    2. コードで設定したエンドポイントが正しく、適切なプロトコルプレフィックス (http:// または https://) が含まれていることを確認してください。

    3. セキュリティ攻撃やポリシー違反によりバケットが OSS サンドボックスに入れられてアクセスが制限されていないことを確認してください。

    4. 問題が解決しない場合は、Wireshark などのツールを使用してネットワークパケットをキャプチャし、テクニカルサポートに連絡してさらなる調査を依頼してください。

OSS のアップロードまたはダウンロード速度が非常に遅い場合はどうすればよいですか?

転送速度は、クライアントの帯域幅、ネットワークリンクの品質、および転送ポリシーの設定に依存します。

  • 一般的なトラブルシューティング: 帯域幅の使用量がバケットの帯域幅制限に達していないことを確認してください。次に、MTR ツールを使用してネットワークリンクを分析し、パケット損失、レイテンシー、またはルーティングの異常を確認してください。クロスリージョン転送の場合は、転送アクセラレーションを有効にして使用し、ネットワークパスを最適化します。

  • ツールの最適化: 大量または多数のファイルを転送するには、コマンドラインインターフェイス ossutil 2.0 を使用します。その probe コマンドを使用して、ネットワークの状態を確認します。

  • SDK の最適化: 大きなファイルの場合、マルチパートアップロード再開可能なアップロード機能を使用する必要があります。パートサイズ (part_size) と同時実行スレッド数 (num_threads) を適切に設定してください。ネットワーク状態が良い場合は、パートサイズを大きくしてリクエスト数を減らします。さらに、SDK クライアントを初期化する際に CRC64 検証を無効にし (例:Python で enable_crc=False を設定) 、データ整合性チェックのためにリクエストヘッダーに Content-MD5 を追加します。これにより、データのセキュリティを確保しながら転送パフォーマンスを向上させることができます。

カスタムドメイン経由でアクセスしたときに、ファイルがプレビューされるかダウンロードされるかを制御するにはどうすればよいですか?

Content-Disposition ヘッダーによって、ファイルがプレビューされるかダウンロードされるかが決まります。OSS バケットエンドポイントは、セキュリティのために Content-Disposition: attachment を強制します。カスタムドメインはこのヘッダーを追加しない ため、動作を制御できます。

  • プレビューを有効にするには: オブジェクトのメタデータに Content-Disposition: attachment ヘッダーが設定されていないこと、およびオブジェクトの Content-Type (MIME タイプ) がファイル形式と正しく一致していることを確認してください。ブラウザでネイティブにサポートされていないファイル形式の場合は、次の方法でプレビュー機能を拡張します:

    • .doc、.ppt、.pdf などのオフィスファイルの場合は、WebOffice オンラインプレビューサービスを統合します。

    • .mov などの特殊なビデオ形式の場合は、ビデオトランスコーディングサービスを使用して、プレビュー用に Web 互換形式に変換します。

    • 対応するファイルタイプのブラウザ拡張機能をインストールします。

  • ダウンロードを強制するには: オブジェクトの Content-Disposition メタデータを手動で attachment に設定してください。すると、ブラウザはプレビューを試みずに直接ファイルをダウンロードします。

  • 説明

    HTML の <video> または <audio> タグはメディアの再生を優先し、attachment ダウンロードディレクティブを無視する場合があります。

ドメインが既に別のバケットにマッピングされているというメッセージでドメインマッピングが失敗した場合はどうすればよいですか?

ドメインが既に別のバケットにマッピングされている場合は、次の 2 つの解決策のいずれかを使用できます:

  • 現在のビジネスに新しいサブドメインを使用します。ドメイン oss-example.cn が既に別のバケットにマッピングされている場合は、static.oss-example.cn のような新しいサブドメインをマッピングに使用します。これにより、ドメインレベルでサービスを分離できます。

  • 元のバケットからドメインのマッピングを解除し、ターゲットバケットにマッピングします。ドメインのマッピングを解除するには、次の手順に従います:

    1. CDN アクセラレーションを有効にしている場合は、まず CDN サービスでオリジンサーバー情報を変更し、アクセラレーション対象ドメインが OSS バケットエンドポイントを指さないようにする必要があります。これにより、CDN のオリジンへのアクセス失敗を防ぎます。手順については、「オリジンの設定」をご参照ください。

    2. [バケット] ページに移動し、現在ドメインがマッピングされているバケットの名前をクリックしてから、左側メニューで [バケット設定] > [ドメイン名] をクリックします。

    3. ドメインリストでターゲットドメインを見つけ、[操作] 列の [マッピング解除] をクリックします。表示されるダイアログボックスで [OK] をクリックして、ドメインのマッピングを解除します。

「ドメイン B がドメイン A に CNAME され、ドメイン A が OSS にマッピングされている」場合にアクセスが失敗するのはなぜですか?

OSS は、Host ヘッダーがバケットにマッピングされたドメインと一致することを検証します。ユーザーがドメイン B にアクセスすると、Host は「ドメイン B」となり、ドメイン A と一致しないため、Host の検証が失敗します。CNAME チェーンを使用する代わりに、公開されているドメイン (ドメイン B) を直接バケットにマッピングしてください。

設定後、カスタムドメインが機能しない、または古いアドレスを指し続けているのはなぜですか?

これは、ローカルマシンまたは ISP での DNS キャッシュが原因である可能性が高いです。この問題は通常、再試行後 10 分以内に解決します。

DNS ノードは TTL 値に基づいて DNS 名前解決の結果をキャッシュします。CNAME レコードを変更した後、古いキャッシュは TTL の有効期限が切れるまでリクエストを古いアドレスに誘導する可能性があります。ローカルの DNS キャッシュをクリアするか、自動更新を待ってください:

Windows

ipconfig /flushdns

macOS

 sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

Linux

 sudo systemd-resolve --flush-caches

署名を必要としない長期間有効な URL で OSS ファイルにアクセスするにはどうすればよいですか?

長期間有効で署名不要の URL を作成するには、次の 2 つの方法があります:

カスタムドメインをマッピングした後でも、古いファイルの URL を使用できますか?

はい。カスタムドメインのマッピングは、元のバケットエンドポイント経由のアクセスには影響しません。両者は共存します。署名付き URL を使用してファイルをダウンロードすることもできます。

カスタムドメインの CNAME 名前解決を停止した後でも、デフォルトエンドポイント経由でバケットにアクセスできますか?

はい。OSS のデフォルトエンドポイント (例:your-bucket.oss-cn-hangzhou.aliyuncs.com) は、バケット作成時に自動的に割り当てられ、どのカスタムドメイン名からも独立しています。カスタムドメイン名の DNS 名前解決を停止した場合 (CNAME レコードを削除した場合)、カスタムドメイン名はアクセスできなくなりますが、デフォルトエンドポイントは影響を受けません。バケット ACL が公開読み取りに設定されているか、有効な署名付き URL を使用している限り、デフォルトエンドポイントはアクセス可能なままです。

カスタムドメイン名のマッピング解除と DNS 名前解決の停止は、2 つの独立した操作です:OSS コンソールの ドメイン名 ページでカスタムドメイン名のマッピングを解除するのに対し、DNS 名前解決の停止は DNS プロバイダーで CNAME レコードを削除して行います。DNS 名前解決を停止するだけでは、OSS 側でドメイン名が自動的にマッピング解除されるわけではありません。

カスタムドメインを OSS バケットにマッピングした後、パブリックエンドポイント経由でしかアクセスできませんか? 内部 (プライベート) ネットワークアクセスにも使用できますか?

カスタムドメインはパブリックネットワークアクセス専用であり、内部 (プライベート) アクセスには使用できません。

カスタムドメインは、バケットのパブリックエンドポイント (例:examplebucket.oss-cn-hangzhou.aliyuncs.com) を指す CNAME レコードを使用します。

内部アクセスには、Alibaba Cloud の内部エンドポイント (例:oss-cn-hangzhou-internal.aliyuncs.com) が必要で、同じリージョンおよび VPC 内のリソースからのみアクセス可能です。内部エンドポイントはパブリック DNS では名前解決できず、CNAME のターゲットにすることはできません。

カスタムドメインを使用すると、HTTP リクエストが自動的に HTTPS にリダイレクトされるのはなぜですか?

これは、カスタムドメインに対して HTTPS への強制リダイレクト機能が有効になっているためです。この設定により、すべての受信 HTTP リクエストが自動的に対応する HTTPS にリダイレクトされます。

OSS 自体はネイティブに強制リダイレクトをサポートしていませんが、この動作は CDN レベルで有効化されます。Alibaba Cloud CDN をカスタムドメインと HTTPS 証明書と共に使用する場合、CDN コンソールで強制リダイレクト (HTTP → HTTPS) オプションを有効にできます。これにより、CDN はすべての HTTP リクエストに対して 301 または 302 レスポンスを返し、ブラウザに HTTPS でリクエストを再送信するよう促します。

HTTP と HTTPS の両方のアクセスを許可するには、Alibaba Cloud CDN コンソールに移動し、関連するドメインを選択して、リダイレクトタイプデフォルト に変更してください。詳細な手順については、「HTTP/S リダイレクトの設定」をご参照ください。

OSS の CDN アクセラレーションを設定した後に ERR_SSL_VERSION_OR_CIPHER_MISMATCH が発生した場合はどうすればよいですか?

CDN のアクセラレーション対象ドメインに複数のオリジンサーバー (IP オリジンと OSS オリジン) が設定されている場合、CDN はリクエストをランダムにオリジンサーバーにルーティングします。リクエストが HTTPS が設定されていない IP オリジンにルーティングされると、SSL ハンドシェイクが失敗し、ブラウザに ERR_SSL_VERSION_OR_CIPHER_MISMATCH エラーが表示されます。

この問題を解決するには、次の手順を実行してください:

  1. CDN コンソールにログインし、ドメイン管理でアクセラレーション対象ドメインのオリジンサーバー設定を確認します。IP オリジンが存在する場合は削除し、OSS オリジンのみを残します。

  2. アクセラレーション対象ドメインの [HTTPS] 設定で、[HTTPS] をオンにし、アクセラレーション対象ドメインに一致する有効な SSL 証明書を選択してください。

カスタムドメイン経由でファイルをアップロードできますか?

いいえ、カスタムドメイン URL を介して直接ファイルをアップロードすることはできません。OSS にマッピングされたカスタムドメインは、本質的に OSS REST API エンドポイントです。ブラウザの URL から直接 HTTP PUT リクエストを送信すると、認証署名がないため拒否されます (403 AccessDenied が返される)。カスタムドメインは、主に既にアップロードしたファイル (画像、Web ページ、その他の静的リソースなど) への HTTP GET アクセスに使用されます。

OSS バケットにファイルをアップロードするには、次のいずれかのツールを使用してください:

  • ossbrowser: 技術者以外のユーザーに適した GUI ツールです。インストール手順については、ossbrowser のインストールガイドをご参照ください。

  • ossutil: O&M 担当者に適した CLI ツールです。

  • OSS SDK: 開発者がアプリケーションに統合するのに適しています。

ossbrowser で [エンドポイント] を設定する際に、OSS のパブリックエンドポイントまたはカスタムドメインを使用できます。AccessKey が正しく設定されていることを確認してください。