简介
代理服务器是在客户端与终端服务器之间充当中介的服务器。代理服务器可以用作 Shotgun 用户与 Shotgun 服务之间的隔离层,从而允许用户访问 Shotgun,同时限制对 Internet 其余部分的访问。
建议
尽管可以对您的 Shotgun 站点使用代理服务器,但我们强烈建议采用网关服务器的方法。
免责声明
本文档作为手册提供给我们的客户,以帮助他们设置代理服务器。尽管我们可以提供一些帮助,但代理服务器由客户负责安排,而不是由 Shotgun 实施。
此外,我们在本文档中提供了外部资源的链接,请在参考时做出自己的最佳判断。
词汇
代理。在客户端与终端服务器之间充当中介的服务器。有关代理的更多详细信息可在维基百科上找到(请参见 https://en.wikipedia.org/wiki/Proxy_server)。有不同种类的代理,具体取决于您的需求。
正向代理。向普通的一组客户端提供代理服务的代理。代理配置允许请求被允许或拒绝,从而允许对所需的一组客户端强制实施安全性。
内容过滤代理。根据不同的方法(最常用的是 URL 和 IP)对所使用的内容进行适当控制的代理。
IT。信息技术。
Shotgun Web 应用。指 Shotgun Web 应用程序,通过 Internet 浏览器提供。
快速入门
为什么要使用代理?
主要原因是安全性。您的工作室可能有严格的安全要求,以防止用户直接访问 Internet。在大多数情况下,使用代理隔离 Shotgun 访问会缓解您的安全专家的压力。
有什么影响?
使用代理时,Shotgun Web 应用、SG Toolkit、RV 和 SG Desktop 应会正常运行。但是,Shotgun 是产品创新平台,有范围很广的 IP,这些 IP 可能是动态的,因此任何白名单方法都是一项挑战。
应该使用哪种代理?
这取决于您工作室的基础设施。有多种类型的代理,实际实施会有很大不同。根据您工作室的规模,您可能已将此类技术用于其他用途。建议咨询您的 IT 部门,因为他们可能已实施该解决方案的某些部分。有很多专业产品/技术,并且可能已在您的工作室中使用。
如果您希望实施自己的解决方案,可以设置 Web 代理服务器(请参见 https://en.wikipedia.org/wiki/Proxy_server#Web_proxy_servers)。要将 Internet 访问范围限制于 Shotgun,您可能要使用内容过滤代理(请参见 https://en.wikipedia.org/wiki/Proxy_server#Content-control_software),它允许 Shotgun 通信通过,但阻止其余部分。您还可能希望该代理作为正向代理(请参见 http://www.jscape.com/blog/bid/87783/Forward-Proxy-vs-Reverse-Proxy)。
下面提供了一些链接,可帮助您快速入门。
Web 代理 | 说明 | 代理示例 |
Apache Httpd (https://httpd.apache.org/) | 可能是比较有名的 Web 服务器。 | 正向代理示例 (https://docs.trafficserver.apache.org/en/4.2.x/admin/forward-proxy.en.html) |
Nginx (http://nginx.org/en/) | 最常用的 Web 服务器。由于他们正在将大部分精力投入在 Nginx Plus(付费版本)上,此代理正在失去吸引力。 | 正向代理示例 (https://ef.gy/using-nginx-as-a-proxy-server)(http://plonexp.leocorn.com/leocornus/leocornus.buildout.cfgrepo/xps33) |
Squid (http://www.squid-cache.org/) | 常用的缓存代理,通常用于在大多数操作系统上实施 Web 访问限制。 在 Mac 上提供的用户界面。 |
HTTP 代理示例 (https://www.linode.com/docs/networking/squid/squid-http-proxy-centos-6-4) Web 过滤示例 (https://www.howtoforge.com/web-filtering-on-squid-proxy) |
代理备选方案
如我们之前所述,我们建议的方法是使用网关服务器。
也可以在路由器或防火墙级别实施访问限制。这些选项对您可能更有吸引力,具体取决于您的专业知识。下列文章详细介绍了这些备选方案:
http://www.dslreports.com/faq/14018
配置
了解您的设置
在继续后续操作之前,您将需要了解您的站点是否启用了 Web 加速。经验法则是,如果您不在美国,则启用了 Web 加速。
对于 Web 加速服务,您有 2 个选择:
- 将该加速服务使用的所有 IP 地址范围添加到白名单中。请联系 Shotgun 支持部门以获取 IP 范围。
- 禁用加速服务。
对于 Web 加速服务,白名单是一项挑战。该服务使用范围很广的 IP,这些 IP 会随时间变化。但是,由于对于美国以外的客户,性能和可靠性已得到显著改进,因此我们建议使 Web 加速服务保持启用状态。
Shotgun 使用 AWS S3 存储您的内容。关于 Web 加速服务,您对 AWS S3 有 2 个选择:
- 将 AWS IP 添加到白名单中。有关详细信息,请参见 http://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html。
- 使用 Shotgun S3 代理。此选项仅适用于在俄勒冈州区域存储媒体的客户。
S3 具有可变的 IP 方案,这意味着 IP 随时间变化。这使得添加白名单很困难。为了解决此问题,我们正在提供 S3 代理。即使很难实施,我们仍建议采用将 AWS IP 添加到白名单的方法。
代理服务器和防火墙配置
因为代理实施可能会不同,我们不会介绍细节。但是,配置为允许与 Shotgun 通信的代理应该:
- 对于 Shotgun 服务使用的所有 IP,允许传输与您的 Shotgun 站点(默认端口 443)的 HTTPS 通信。有关 IP 的完整列表,请参见 Shotgun 生态系统 - FQDN IP。
- Shotgun 公用 IP
- Web 加速服务 IP 范围
- AWS IP 范围
- 允许在有/无身份认证的情况下转发通信;应支持两者。
同样,如果您的基础设施受防火墙保护,您将要允许在相同主机或 IP 上传输通信。
Shotgun Web 应用配置
禁用 Web 加速和激活 S3 代理必须由 Shotgun 完成。为此,请在 Shotgun 支持上开一个工单。
该代理与 Shotgun 服务位于相同的地址。因此,无需在代理和防火墙级别进行其他配置。使用代理有一些影响。请参见使用 S3 代理是否有任何影响?
客户端工作站配置
要使用代理,必须对每个用户工作站进行配置。对于大型组织,通常是在设置用户系统时完成此过程。有两种主要方法来实现此目的。
操作系统配置
一些操作系统支持在操作系统级别进行配置。通过执行此操作,大多数应用程序将会默认使用代理。
操作系统 | 文档 | 备注 |
Mac OS X | https://support.apple.com/guide/mac-help/enter-proxy-server-settings-on-mac-mchlp2591/mac | 配置 Web 代理和安全 Web 代理 |
Windows | 不受支持 |
浏览器配置
浏览器 | 文档 | 备注 |
Chrome | https://support.google.com/chrome/answer/106010?hl=zh_hans | 对于 Mac OS X,必须在操作系统级别更改 |
Firefox | http://www.wikihow.com/Enter-Proxy-Settings-in-Firefox | 配置 HTTP 代理和 SSL 代理 |
Safari | https://support.apple.com/guide/safari/set-up-a-proxy-server-ibrw1053/mac | 对于 Mac OS X,必须在操作系统级别更改 |
配置 Toolkit 和 SG Desktop
SG Toolkit 和 SG Desktop 可以配置为使用代理。有关如何对其进行设置的详细信息,请参见以下 Zendesk 论坛:
https://support.shotgunsoftware.com/hc/zh-cn/articles/219040668#Advanced%20Installation%20Topics
配置 RV
也可以将 RV 配置为使用代理。您可以通过环境变量对此进行设置,此处的“代理配置”中进行了介绍:
这将会允许任何 Shotgun 集成功能发挥作用,包括从 Shotgun 启动 RV 中的版本、启动 RV 审片室以及 Shotgun 可识别的 RVLINKS。
配置 Shotgun Create
如果您正在使用代理服务器运行 Shotgun Create,则需要设置以下环境变量:
SGC_NETWORK_PROXY host_name
其中,host_name 是主机名或以点分隔的数字 IP 地址。数字 IPv6 地址必须写入 [方括号] 内。要在此字符串中指定端口号,请在主机名末尾附加 :[端口]。如果未指定,Shotgun Create 将默认对代理使用端口 1080。
或者,您也可以将全局环境变量 http_proxy 和 https_proxy 用于代理 url:port。
常见问题解答
使用 S3 代理是否有任何影响?
有一些性能影响。S3 通信通过 Shotgun 服务器路由,而不是直接来自 S3。这意味着延迟增加及带宽减少。
是否有使用 S3 代理的任何备选方案?
没有简单的备选方案。您可以动态尝试配置防火墙/代理以允许当前 S3 IP 地址范围,但这可能是一项巨大的挑战(请参见 http://serverfault.com/questions/551275/how-can-i-whitelist-oubound-from-private-subnet-traffic-to-s3-on-the-nat-instanc)。
外部资源
- https://en.wikipedia.org/wiki/Proxy_server
- https://en.wikipedia.org/wiki/Proxy_server#Web_proxy_servers
- https://en.wikipedia.org/wiki/Proxy_server#Content-control_software
- https://httpd.apache.org/
- http://nginx.org/en/
- http://www.squid-cache.org/
- https://www.linode.com/docs/networking/squid/squid-http-proxy-centos-6-4
- https://www.howtoforge.com/web-filtering-on-squid-proxy
- http://www.dslreports.com/faq/14018
- https://support.apple.com/guide/safari/set-up-a-proxy-server-ibrw1053/mac
- https://support.google.com/chrome/answer/106010?hl=zh_hans
- http://www.wikihow.com/Enter-Proxy-Settings-in-Firefox
- https://support.apple.com/guide/mac-help/enter-proxy-server-settings-on-mac-mchlp2591/mac
- https://ef.gy/using-nginx-as-a-proxy-server
- http://plonexp.leocorn.com/leocornus/leocornus.buildout.cfgrepo/xps33
- https://docs.trafficserver.apache.org/en/4.2.x/admin/forward-proxy.en.html