• 首页 > 
  • 配置OSS静态网站托管404页面后提示“无法访问网站”

配置OSS静态网站托管404页面后提示“无法访问网站”

KB: 257802

 · 

更新时间:2021-06-10 17:09

问题描述

网站配置OSS静态网站托管404后,当访问资源不存在时,会默认返回404页面。若访问网站提示以下报错,可通过本文进行操作。

无法访问此网站,网址为http://xxxxx.oss-cn-beijing.aliyuncs.com/help/agreements/student/的网页可能暂时无法连接,或者它已永久性地移动到了新网址。ERR_INVALID_RESPONSE

image.png

排查过程

查看浏览器的Network元素

  1. 打开Chrome浏览器的开发者模式,单击Network,选择Name下面的选项,单击Response,确认Response页签下的内容为空,提示Failed to load response data的报错。
    image (1).png
  2. 单击Headers,查看Headers页签下的内容,确认存在OSS 404的提示。
    image (2).png

抓包分析

通过抓包分析确认服务端有相应body体,说明OSS响应正常,因此判断是客户端的限制。

Dingtalk_20210512150456.jpg

问题原因

访问不到资源的时候,OSS会响应StatusCode为404的状态码。由于用户配置了默认404页面,此时OSS会把配置的默认404页面的HTML返回,而直接使用OSS域名访问HTML时,OSS会响应Content-Disposition: attachment,该情况下会被Chrome浏览器判断为不合法。

解决方案

请您绑定自定义域名,直接使用自定义域名进行访问,绑定自定义域名详细步骤请参见绑定自定义域名。这样就不会有Content-Disposition: attachment的默认下载行为,即返回的404也会正常响应body的内容。

适用于

  • 对象存储OSS

如果您的问题仍未解决,您可以在阿里云社区免费咨询提交工单联系阿里云技术支持。