目录

简介

本文档介绍如何解决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客户端的处理步骤

1. UCC SWG扩展使用chrome.proxy API请求设置代理。

2. UCC SWG扩展将请求forhttp://407.checkumbrella.com发送到SWG代理服务器。

3. SWG代理服务器检测特殊域407.checkumbrella.com并以HTTP 407状态做出响应，提示代理身份验证质询。

4. Google Chrome浏览器理解HTTP 407，并调用UCC SWG扩展中的thionAuthRequiredfunction以获取身份验证报头。

5. Chrome浏览器缓存身份验证报头。

6. 浏览器向407.checkumbrella.com发送第二个请求，这次使用的是身份验证报头。

7. 当您在Chrome中打开Gmail时，来自mmail.google.comare的请求会代理到具有缓存的身份验证标头的SWG代理服务器。

8. 当您在Gmail中上传本地或缓存文件时，上传工作正常，因为请求包含身份验证标头。

为什么从Android应用上传和下载文件失败？

1. 当您从Chromebook上安装的Google Drive上传非缓存文件时，Google Drive会尝试从mgoogleapis.com下载文件。

2. 此请求将代理到SWG代理服务器。但是，由于Google Drive没有来自Chrome的缓存身份验证标头，thegoogleapis.comrequest将在没有身份验证标头的情况下发送。

3. SWG代理服务器拒绝具有401未授权错误的请求，从而阻止Google Drive下载文件。

4. 由于无法从Google Drive下载文件，将文件上传到Gmail也会失败。

分辨率

要解决Android应用（如Google Drive）的文件上传问题，请使用外部域管理列表绕过域googleapis.com。