2014-02-28 21 views
2

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

https://forums.aws.amazon.com/ann.jspa?annID=1701

我跟Sagepay,他们说,因为很简单,就是很多,但我可以指定一个开始和结束范围,但需要“扩大我的子网掩码”他们不能插入这么多IP的,在哪一点我失去了!

任何人都可以帮忙吗?

回答

2

Sage Pay接受C类IP。您似乎在使用公共IP。你能让他们向你确认一个你可以使用的C类吗?

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

您只需要输入一个范围的IP地址,其中子网覆盖范围即255.255.255.000,这意味着任何IP地址是相同的BARR最后三位数字将被接受,但最后3位数字更少比255.

从Sage付款方面,我已经详细列出了IP的确切清单,如果您有严格的防火墙,您应将其列入白名单。

以下是从客户的角度出发,

对外交通到我们的网关:

195.170.169.9 - live.sagepay.com 195.170.169.8 - test.sagepay.com

入站流量只需要加入白名单的IP,如果你是使用SERVER,因为这是启动回叫的唯一解决方案。您不需要将此应用于我们的FORM和DIRECT集成。从中我们回电的IP地址是:

195.170.169.14 195.170.169.18 195.170.169.15 的子网贤者收费使用的面膜是255.255.255.000 请确保您的防火墙允许出站端口443(HTTPS只)和入站端口443(和可选的80 HTTP)访问,以便与我们的服务器进行通信(在模拟器/测试/实时)。

然而总是有这个变化的空间。 Sage Pay拥有整个195.170.169.0/255范围(256个IP)。如果你很乐意允许这个范围,那么这将自动适应任何未来的变化。

+1

问题是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个范围,我需要输入约8000个IP到Sagepay。 我们的防火墙不是问题,我可以打开任何范围。问题是需要来自有效IP范围的sagepay的请求。 从我被告知有没有办法解决这个问题? – Raj

+0

您需要一个固定IP和C类。如果没有覆盖子网掩码,您需要手动添加IP范围的任何变量。网关会查看/验证子网。 –

+0

CIDR格式的IP范围为195.170.169.0/24(即195.170.169.0-255) – dave1010

0

或者,您可以使用我们的Reporting and Admin API大量的IP。命令你可以使用的例子详述如下:

addValidIPs

0

的理想解决方案(提示提示亚马逊)是你可以设置你的负载平衡器具有弹性IP地址,然后配置你的计算服务器使用您的负载平衡器作为向sagepay传出HTTP请求的代理。这样你可以添加和删除新的实例到你的服务器场,而不需要担心他们的IP地址与sagepay。但是,这不是我所知的AWS支持的知识。

目前看来您需要为可能用于发送给sagepay的每台服务器分配一个弹性IP地址。如果您有几台服务器,那可能是每台Web服务器。但是你是有限的,至少最初是5个弹性IP,所以如果你有一个更大的服务器场,你需要在你的一些服务器上设置一个代理,然后分配这些服务器的弹性IP地址,然后告诉SagePay您的弹性IP

通过配置其他服务器以使用这些代理服务器进行传出请求,SagePay将会看到来自它所知道并感到满意的服务器的请求。

我不会做的是打开整个AWS IP地址范围sagepay为您的网站。这会让某人发送交易请求,以您的名义有效地让高科技人士控制他们为您网站上的物品支付的价格,同时您从Sage收到有效的确认,确认该订单已支付。

0

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

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

这里是网址来进行测试:

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' 

不设置ALL IP地址作为值得信赖!