问题描述
网站配置OSS静态网站托管404后,当访问资源不存在时,会默认返回404页面。若访问网站提示以下报错,可通过本文进行操作。
无法访问此网站,网址为http://xxxxx.oss-cn-beijing.aliyuncs.com/help/agreements/student/的网页可能暂时无法连接,或者它已永久性地移动到了新网址。ERR_INVALID_RESPONSE
排查过程
查看浏览器的Network元素
打开Chrome浏览器的开发者模式,单击Network,选择Name下面的选项,单击Response,确认Response页签下的内容为空,提示
Failed to load response data
的报错。单击Headers,查看Headers页签下的内容,确认存在OSS 404的提示。
抓包分析
通过抓包分析确认服务端有相应body体,说明OSS响应正常,因此判断是客户端的限制。
问题原因
访问不到资源的时候,OSS会响应StatusCode为404的状态码。由于用户配置了默认404页面,此时OSS会把配置的默认404页面的HTML返回,而直接使用OSS域名访问HTML时,OSS会响应Content-Disposition: attachment
,该情况下会被Chrome浏览器判断为不合法。
解决方案
请您绑定自定义域名,直接使用自定义域名进行访问。具体操作,请参见绑定自定义域名。绑定后不会有Content-Disposition: attachment
的默认下载行为,即返回的404也会正常响应body的内容。
文档内容是否对您有帮助?