我想使用 nginx 作为 Google App Engine 应用程序的反向代理来支持裸域,如所述这里。如果我使用此方案,所有流量都会通过托管 nginx 的服务器吗?还是客户端会直接连接到 App Engine?这会成为性能和可用性的瓶颈吗?
答案1
使用这种方法,您的所有流量都将通过 NGINX 服务器,因此这将是一个瓶颈,您必须确保它有足够的容量才能正常工作。它还会导致一些延迟(每个请求大约有 2 倍的延迟,因为您的客户端连接到 NGINX 会有延迟,而 NGINX 连接到 AppEngine 会有延迟)
答案2
灵活环境和标准环境均无需设置反向代理。
标准环境中的 App Engine 实例1没有公共静态 IP 地址,完全受主 Google 前端服务器保护。对您的应用程序的请求首先到达 Google 前端,然后前端根据您上传的证书 [2] 执行 SSL 安全检查,然后使用其内部 IP 将请求转发到您的 App Engine 实例。因此不需要反向代理。
如果您使用的是 App Engine Flexible 环境 [3],则可以为实例设置静态 IP,因为它们使用 Compute Engine VM [4]。但是,App Engine 会自动在每个预先配置的 App Engine Flexible 实例前面加载 Nginx 代理,因此您根本不需要进行设置。您所要做的就是按照指南上传 SSL 证书 [5],然后请求将像上面的标准环境一样由 Google Front-end 进行审查。因此不需要添加反向代理。
完整答案可在此处找到 问题