设置网关服务器

本文介绍了如何允许对托管 Shotgun 站点的访问,同时满足您工作室实施的 Internet 限制策略。

适用对象和假设

本文档适用于系统和 Shotgun 管理员。

假定读者基本了解代理、网络和 HTTP 协议。

使用网关服务器在线访问 Shotgun

网关服务器允许用户有权访问其托管 Shotgun 站点,而无权访问 Internet 的其余部分。它将过滤的请求转发至 Shotgun 端点,但阻止所有其他请求。这意味着,当用户请求 *.shotgunstudio.com 时,请求将会通过。但是,如果用户请求未授权的站点,请求将不会通过。

SGCS_-_Shotgun_Ecosystem___Gateway.png

为什么使用网关服务器?

我们建议您使用网关服务器,而不是为 Shotgun 设置代理服务器

使用网关服务器:

  • 您不必将可能会随时间变化的复杂 IP 范围添加到白名单中,
  • 您仍然可以受益于每个 Shotgun 托管站点中包含的所有 Web 加速功能,
  • 与 S3 代理解决方案相比,使用 Amazon S3 时的性能更高,
  • 与 S3 代理解决方案相比,使用全部播放和全部上传时的性能更高。

快速入门

实施网关服务器有两个步骤。

  1. 实施水平分割域名系统 (DNS)。有关水平分割 DNS 的详细信息,请参见 http://jensd.be/160/linux/split-horizon-dns-masterslave-with-bind
  2. 使用 HAProxy 设置网关服务器。

水平分割 DNS

水平分割 DNS 允许根据查询来源为查询提供不同的响应(在这种情况下,为 URL 解析)。对于您工作室中的人员,您的水平分割 DNS 将您的 Shotgun URL 解析为内部 IP 地址(网关服务器),而不是解析为 Shotgun 公用 IP。

网关服务器将所有请求转发到 Shotgun IP。网关服务器具有不受限制的访问权限,可以将请求向外传送到 Internet,但所有美工人员看到的只是内部服务器,因此将访问范围仅限制于 Shotgun Internet 资源。

HAProxy

为了实施网关服务器,我们建议您使用 HAProxy。HAProxy 是一个可靠、简单和高性能的 TCP/HTTP 负载平衡器,使用它可以轻松地实施网关服务器。有关更多详细信息,请参见 http://www.haproxy.org。我们建议您至少使用版本 1.6。在附录中提供了 HAProxy 配置文件示例。

设置

为了正确配置网关服务器,您将需要以下信息:

  • <your_site_name>.shotgunstudio.com
  • 您的特定媒体块的名称,该块基于您所在区域以便优化性能。例如,sg-media-usor-01.s3-accelerate.amazonaws.com。根据您所在位置,Sg-media-usor-01 可能不同。如果您不知道此信息,请联系 Shotgun 支持部门
  • 为网关服务器指定两个不同的内部 IP 地址:一个用于侦听 <your_site_name>.shotgunstudio.com,一个用于侦听 S3 URL。如果您使用 Toolkit,可能需要第三个 IP。

您的 Shotgun 站点实施的 IP 访问限制

如果您设置网关服务器,则可能希望您的 Shotgun 站点仅接受来自您工作室 IP 的请求。有关更多详细信息,请参见 Shotgun 帮助中心中的“IP 白名单”

常见问题解答

网关服务器是否会使美工人员的设置变得复杂?

不会,网关服务器不会更改美工人员的 Internet 访问权限。如果美工人员当前已被允许以受限方式浏览特定站点,他们仍可以这样。从美工人员的角度来看,察觉不到变化。

所有 URL 将像以前一样继续有效。这同样适用于电子邮件和 Shotgun 生成的电子邮件中的 URL。

网关服务器是否会影响站点的速度?

不会,速度将会与直接访问一样。由于网关进行的连接缓存,速度甚至可能会更快。

是否可以监控转发内容?

可以,您可以记录通过转发代理路由的所有通信。可以从外部角度监控活动、跟踪哪些 IP 正在使用 Shotgun、发出了多少请求等。但是,由于通过 HTTPS 传输的通信会加密,因此请求的内容将会加密。

使用网关服务器时,其他工具是否可以运行?

可以,所有其他工具将继续运行。其中包括 Toolkit、Shotgun API、RV 等。

为什么 tank.shotgunstudio.com 也需要转发?

Tank.shotgunstudio.com 是 Toolkit 应用商店。Toolkit 没有它也可以运行,但还必须转发对该站点的调用,才能成功完成 Toolkit 更新。

附录

下面是 haproxy 1.6 的配置示例

global
 maxconn 4096
 pidfile /tmp/haproxy-queue.pid
  
defaults
 log global
 timeout connect 300000
 timeout client 300000
 timeout server 300000

# handle external ip changes
resolvers external_dns
nameserver dns1 <external_dns_ip>:53
resolve_retries 3
timeout retry 1s
hold valid 10s # in case someone enters SG address without https listen http_redirect
bind <internal_ip_address_1>:80 mode http redirect scheme https code 301 if !{ ssl_fc } listen shotgun_proxy
bind <internal_ip_address_1>:443 mode tcp server app1 <your_site_name>.shotgunstudio.com:443 listen shotgun_s3_proxy
bind <internal_ip_address_2>:443 mode tcp server app1 sg-media-usor-01.s3-accelerate.amazonaws.com:443

listen shotgun_tank_proxy
bind <internal_ip_address_3>:443
 mode tcp
 server appl tank.shotgunstudio.com:443

 

关注

0 评论

登录写评论。