简介
本文档介绍如何解决Umbrella Chromebook Client SWG中的文件上传和下载故障。
概述
当您使用适用于Umbrella Chromebook Client(UCC)的安全Web网关(SWG)时,Gmail和Google Drive等应用的文件上传和下载可能会失败,并显示错误消息“附件失败”(Attachment failed)。 出现此行为的原因在于SWG代理和身份验证过程在ChromeOS层的工作方式。

SWG Umbrella Chromebook客户端的工作原理
SWG扩展向Umbrella注册客户端,下载代理配置,并在ChromeOS上设置代理。此设置通过代理从Chrome浏览器和任何已安装应用到Umbrella的网络流量来保护设备免受在线威胁。
- SWG Umbrella Chromebook Client在ChromeOS层设置代理。
- 所有Web流量(包括来自Chrome和其他应用的流量)都将代理到Umbrella。
- 适用于SWG的UCC管理代理身份验证挑战。
- 某些应用程序(如Google Drive)无法处理代理身份验证挑战。
SWG Umbrella Chromebook客户端的处理步骤
- UCC SWG扩展使用chrome.proxy API请求设置代理。
- UCC SWG扩展将请求forhttp://407.checkumbrella.com发送到SWG代理服务器。
- SWG代理服务器检测特殊域407.checkumbrella.com并以HTTP 407状态做出响应,提示代理身份验证质询。
- Google Chrome浏览器理解HTTP 407,并调用UCC SWG扩展中的thionAuthRequiredfunction以获取身份验证报头。
- Chrome浏览器缓存身份验证报头。
- 浏览器向407.checkumbrella.com发送第二个请求,这次使用的是身份验证报头。
- 当您在Chrome中打开Gmail时,来自mmail.google.comare的请求会代理到具有缓存的身份验证标头的SWG代理服务器。
- 当您在Gmail中上传本地或缓存文件时,上传工作正常,因为请求包含身份验证标头。
为什么从Android应用上传和下载文件失败?
- 当您从Chromebook上安装的Google Drive上传非缓存文件时,Google Drive会尝试从mgoogleapis.com下载文件。
- 此请求将代理到SWG代理服务器。但是,由于Google Drive没有来自Chrome的缓存身份验证标头,thegoogleapis.comrequest将在没有身份验证标头的情况下发送。
- SWG代理服务器拒绝具有401未授权错误的请求,从而阻止Google Drive下载文件。
- 由于无法从Google Drive下载文件,将文件上传到Gmail也会失败。

分辨率
要解决Android应用(如Google Drive)的文件上传问题,请使用外部域管理列表绕过域googleapis.com。