在我的工作地点,我们已经没有可用的IP地址分配给我们面向UAT服务器的公众。因此,我们将UAT服务器上的所有通信量从另一个服务器IP地址上的9999端口路由到端口80。这在大多数情况下都很好,但是测试外部服务(如PayPal )变得不可能,因为PayPal从回调urls中删除端口号,这样我们面向UAT服务器的公众就永远无法与支付网关交互。
作为一种解决办法,我建议如下:
购买具有唯一IP地址的最便宜的数字海洋集装箱。
将所有UAT域dns指向此容器。
从UAT服务器阻塞除容器外的所有通信量。
设置某种反向代理,将所有流量从DO容器路由到UAT服务器。
我不知道该如何做的部分是反向代理部分。我想我需要Nginx或者清漆。但是,该解决方案也需要处理用户会话和文件上载,DO容器仅充当代理而不存储此信息。
这个是可能的吗?如果是这样的话,我会怎么做呢?我不喜欢操作系统或软件的DO容器,所以欢迎任何建议。
请不要告诉我我们应该如何获得另一个IP地址,而不是这个冗长的解决方案。我很清楚这是过分的,但目前我们不能购买任何其他的IP块,所以这是一个临时措施,直到这发生。
发布于 2015-07-21 12:07:00
反向代理在这里是一个很好的解决方案。这样,您就可以在一个公共IP上拥有数十台服务器。
我对Digital和您的托管环境一无所知,所以我只能建议将代理尽可能地靠近应用服务器,以避免出现双重延迟。
反向代理在大多数配置中运行良好,尽管通常需要在应用程序中进行特殊配置。为了避免出现问题,在应用服务器和代理(http://proxy.host/uri到http://app.host/uri和and )上映射同名URI是很有帮助的。Apache提供了一个可靠的代理解决方案,用于ProxyPass、ProxyPassReverse、ProxyPreserveHost的检查手册。
https://serverfault.com/questions/707284
复制相似问题