企业用户使用Code Server网络要求
为确保Code Server在企业内网环境中的稳定性,请满足以下要求:
- 所有依赖域名已放行,详情请参见Code Server依赖域名。
- 企业网络设备(防火墙、CDN、代理)支持WebSocket协议透传。如遇问题,请参考Code Server网络故障排查。
Code Server依赖域名
为确保Code Server正常运行,需开放以下域名的网络访问权限。这些域名涉及插件市场、资源加载、远程开发等功能,禁用将影响相关功能的使用。
| 域名 | 用途 |
|---|---|
| authoring-modelarts-cnnorth4.huaweicloud.com | Modelarts平台域名(示例为华北-北京四,请根据实际区域修改)。 |
| vscode-remote+authoring-002dmodelarts-002dcnnorth4-002ehuaweicloud-002ecom.vscode-resource.vscode-cdn.net | VS Code远程开发资源加速CDN(Modelarts平台)。 |
| openvsx.eclipsecontent.org | Open VSX内容分发/镜像域名,用于加速插件文件(.vsix)下载和静态资源分发。 |
| img.shields.io | 定期(或实时)从Visual Studio Marketplace的API拉取下载量数据,生成项目徽章(如下载量、版本号等),实时拉取数据并渲染为图片。 |
| github.com | GitHub代码托管平台与原始文件访问入口。 |
| raw.githubusercontent.com | GitHub原始文件直链服务(用于直接访问代码文件)。 |
| badges.gitter.im | 生成Gitter聊天室徽章图标。 |
| open-vsx.org | VS Code插件市场与扩展注册表(开源替代方案)。 |
| code.visualstudio.com | VS Code官方网站(文档、下载、社区等)。 |
故障一:WebSocket连接异常
用户浏览器与Code Server服务端建立WebSocket连接时,相关插件未显示。
打开浏览器调试窗口出现以下报错:
Invalid frame header
故障二:创建或打开Jupyter文件报错
在Code Server中创建或打开Jupyter文件时出现以下报错。
- 创建Jupyter文件:
Command 'Create: New Jupyter Notebook' resulted in an error
图4 创建Jupyter文件
图5 创建Jupyter文件报错
- 打开Jupyter文件:
Unable to open 'xxx.ipynb'
图6 打开Jupyter文件报错
故障可能原因及解决方案
上述故障的可能原因及解决方案如下。
| 可能原因 | 说明 | 解决方案 |
|---|---|---|
| 协议不匹配 | WebSocket连接要求服务器严格遵循RFC 6455协议。错误提示表明:
| 检查企业代理服务器或TLS中间件(如Nginx、Squid)是否对WebSocket流量进行了非标准处理,需关闭相关修改功能。 |
| 企业防火墙/CDN干扰 | 企业网络中的防火墙或CDN可能对WebSocket流量进行拦截或优化,导致连接异常。 |
|
| 代理网络异常 | 代理服务器可能未正确转发WebSocket请求,或存在中间人(MITM)加密导致协议冲突。 | 确保代理服务器支持WebSocket协议透传。 |