Amazon web services AWS IP范围和Sagepay

Amazon web services AWS IP范围和Sagepay,amazon-web-services,opayo,Amazon Web Services,Opayo,我正在使用ELB托管一个应用程序,我需要向Sagepay支付网关发送请求。现在,从我所看到的,一个请求可能来自大量的IP范围。看 我和Sagepay谈过,他们说他们不能插入这么多的IP,因为有很多IP,但我可以指定开始和结束范围,但需要“扩大我的子网掩码”,在这一点上我丢失了 有人能帮忙吗?Sage Pay接受C类IP。您似乎正在使用公共IP。你能让他们确认你可以使用C级吗 将IP添加到我的Sage Pay时,请确保用零填充IP,以便IP位于四个三位数块中,即123.12.123.1将变为12

我正在使用ELB托管一个应用程序,我需要向Sagepay支付网关发送请求。现在,从我所看到的,一个请求可能来自大量的IP范围。看

我和Sagepay谈过,他们说他们不能插入这么多的IP,因为有很多IP,但我可以指定开始和结束范围,但需要“扩大我的子网掩码”,在这一点上我丢失了


有人能帮忙吗?

Sage Pay接受C类IP。您似乎正在使用公共IP。你能让他们确认你可以使用C级吗

将IP添加到我的Sage Pay时,请确保用零填充IP,以便IP位于四个三位数块中,即123.12.123.1将变为123.012.123.001

您只需输入子网覆盖范围内的一个IP地址,即255.255.255.000,这意味着任何IP地址都是相同的。如果最后三位数字小于255,则接受最后三位数字

在Sage Pays方面,我已经详细列出了一份IP的最终列表,如果您有严格的防火墙,您应该将其列入白名单

以下是客户的观点

对于到我们网关的出站流量:

195.170.169.9–live.sagepay.com 195.170.169.8–test.sagepay.com

对于入站流量,如果您使用的是服务器,则只需将IP列入白名单,因为这是发起回拨的唯一解决方案。您不需要将此应用于我们的表单和直接集成。我们回拨的IP是:

195.170.169.14 195.170.169.18 195.170.169.15 Sage Pay使用的子网掩码为255.255.255.000 请确保您的防火墙允许出站端口443(仅限HTTPS)和入站端口443(可选80 HTTP)访问,以便与我们的服务器通信(在模拟器/测试/现场)


然而,这种情况总有改变的余地。Sage Pay拥有整个195.170.169.0/255范围(256 IP)。如果您愿意允许此范围,那么这将自动适应未来的任何更改。

或者,您可以使用我们的大量IP。您可以使用的命令示例如下所示:

理想的解决方案(提示amazon)是,您可以使用弹性IP地址设置负载平衡器,然后配置计算服务器,将负载平衡器用作发送到sagepay的HTTP请求的代理。这样,您就可以在服务器场中添加和删除新实例,而无需担心sagepay的IP地址。然而,据我所知,AWS并不支持这一点

目前看来,您需要为每个服务器分配一个弹性IP地址,您可以使用该地址发送给sagepay。如果您有几个服务器,则可能是每个web服务器。但您受到限制,至少最初只有5个弹性IP,因此如果您有一个更大的服务器场,您需要在一些服务器上设置一个代理,并分配这些服务器的弹性IP地址,然后只告诉SagePay您的弹性IP

通过将其他服务器配置为将这些代理服务器用于其传出请求,SagePay将看到来自其了解的服务器的请求,并感到高兴


我不会为您的网站向sagepay开放整个AWS IP地址范围。这将使有人能够代表您向sage发送交易请求,有效地让精通技术的人控制他们在您网站上购买物品的价格,当您从Sage收到订单确实已付款的有效确认时。

您可以使用ElasticIP创建NAT实例,仅在SagePay站点注册该IP,并通过NAT实例路由传出请求

另一个选项是创建自动更新脚本,该脚本将持续检查服务器上的当前EIP地址,并将该地址应用于SagePay。我在测试过程中使用了这种方法,因为我的IP地址是动态的

以下是用于测试的URL:

auth_url = 'https://test.sagepay.com/mysagepay/j_spring_security_check'
ip_info_url = 'https://test.sagepay.com/mysagepay/ajax/getValidIPs.svc'
add_ipaddr_url = 'https://test.sagepay.com/mysagepay/addvalidip.msp'
delete_ip_url = 'https://test.sagepay.com/mysagepay/ajax/deleteValidIP.svc'

不要将所有IP地址设置为受信任

问题是AWS的射程很大。例如,此AWS IP范围为54.247.0.0-54.247.255.255。我需要加上sagepay 54.247.000.000。但是我需要做54.247.001.000、54.247.002.000、54.247.003.000等等,以确保覆盖整个范围。所以这仅仅是1个AWS EU范围。将其乘以大约20个范围,我需要在Sagepay中输入大约8000个IP。我们的防火墙没有问题,我可以打开任何范围。问题是对sagepay的请求需要来自有效的IP范围。据我所知,没有办法解决这个问题?你需要一个固定的IP和C类。如果没有包含在子网掩码中,你需要手动添加IP范围的任何变量。网关将查看/验证子网。CIDR格式的IP范围为195.170.169.0/24(即195.170.169.0-255)