問題の説明
OSS アクセラレーションエンドポイントを使用して、ブラウザから HTML オブジェクトにアクセスすると、ブラウザがファイルを表示するのではなくダウンロードします。
原因
Content-Disposition レスポンスヘッダーは、ブラウザがファイルをインライン表示するか、添付ファイルとしてダウンロードするかを制御します。attachment に設定されている場合、ブラウザは応答をファイルダウンロードとして処理します。
バケットの転送アクセラレーションが 2020 年 12 月 31 日 00:00:00 以降に有効化された場合、OSS は、オブジェクト名が .htm または .html で終わる、あるいはコンテンツタイプが text/html であるオブジェクトに対する応答に、以下のヘッダーを自動的に追加します:
x-oss-force-download: true
Content-Disposition: attachmentContent-Disposition: attachment がダウンロードをトリガーします。
例
以下の例は、2020 年 12 月 31 日以降に転送アクセラレーションが有効化されたバケット内の index.html オブジェクトに対するリクエストおよび応答を示しています:
GET /index.html HTTP/1.1
HTTP/1.1 200 OK
Content-Disposition: attachment
x-oss-force-download: trueContent-Disposition: attachment により、ブラウザはオブジェクトを表示するのではなくダウンロードします。
ソリューション
HTML オブジェクトをダウンロードせずに配信するには、カスタムドメイン名をバケットにバインドし、そのドメイン経由でオブジェクトにアクセスしてください。設定手順については、「カスタムドメイン名のマッピング」をご参照ください。