问题
今天在使用cesium加载全球DEM数据时,出现一个问题,GET https://…json net::ERR_HTTP2_PROTOCOL_ERROR 200。导致地形数据无法加载出来。因为DEM数据太大了,是放在服务器上。直接通过浏览器访问https://…json这个DEM的文件是可以访问到的,但是通过Cesium加载就是报前面的错误。最终,通过网上资料,发现了下面两种解决办法。
临时解决办法
如果你只能接触到前端代码,无法接触到服务器的话,可以用这种办法,
-
打开 chrome://flags/ 页面
-
找到 Block insecure private network requests. 和 Enable Trust Tokens 两项
-
将其值从 Default 改为 Enable,点右下角的 ReLaunch 按钮重启浏览器[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
-
重新打开报错的网站
这种办法比较有效,但是如果你的客户不满意,或者你的chrome浏览器版本过低,就用下面的办法吧
永久解决办法
在nginx的sever节点下增加proxy_max_temp_file_size 0;
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name api.com;# 根据自己的情况
proxy_max_temp_file_size 0;
}
然后重启nginx
nginx -s reload
问题就解决了