我正在使用ELB托管应用程序,我需要向Sagepay支付网关发送请求。现在我可以看到,请求可以来自大量的IP范围。参见
https://forums.aws.amazon.com/ann.jspa?annID=1701
我和Sagepay说过,他们说他们不能插入这么多IP,因为只有很多但是我可以指定一个开始和结束范围,但需要“扩大我的子网掩码”,此时我迷路了! / p>
任何人都可以帮忙吗?
答案 0 :(得分:2)
Sage Pay接受C类IP。您似乎正在使用公共IP。你可以让他们向你证实你可以使用的C级。
向My Sage Pay添加IP时,请确保使用零填充IP,以便IP为四个三位数的块,即123.12.123.1将变为123.012.123.001。
您只需要输入子网覆盖该范围的范围的一个IP地址,即255.255.255.000,这意味着任何IP地址都是相同的barr,后三位数将被接受,但最后3位数小于255.
从Sage Pays方面,如果你有一个严格的防火墙,我已经详细列出了你应该列入白名单的知识产权清单。
以下是从客户的角度出发;
对于我们网关的出站流量:
195.170.169.9 - live.sagepay.com 195.170.169.8 - test.sagepay.com
对于入站流量,如果使用SERVER,则只需将IP列入白名单,因为这是启动回叫的唯一解决方案。您不需要将它应用于我们的FORM和DIRECT集成。我们回电的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)。如果您乐意允许这个范围,那么这将自动适应未来的任何变化。
答案 1 :(得分:0)
或者,您可以使用我们的Reporting and Admin API大量IP。您可以使用的命令示例详述如下:
答案 2 :(得分:0)
IDEAL解决方案(暗示亚马逊提示)是您可以使用弹性IP地址设置负载均衡器,然后将计算服务器配置为使用负载均衡器作为对sagepay的传出HTTP请求的代理。这样,您可以在服务器场中添加和删除新实例,而无需担心使用sagepay的IP地址。但是,这不是我所支持的AWS。
目前您似乎需要为每个可用于发送给sagepay的服务器分配弹性IP地址。如果您有几台服务器,则可能是每台Web服务器。但是你是有限的,至少最初是5个弹性IP,所以如果你有一个更大的服务器场,你需要设置一些服务器上运行的代理,并为这些服务器分配弹性IP地址,然后只告诉SagePay您的弹性IP
通过配置其他服务器以将这些代理服务器用于其传出请求,SagePay将看到来自其知道的服务器的请求并且感到高兴。
我不会做的是为您的网站打开整个AWS IP地址范围到sagepay。这样就可以让某人代表您向圣人发送交易请求,有效地允许技术精湛的人控制他们为您网站上的商品支付的价格,同时您从Sage收到有效的确认订单确实已付款。
答案 3 :(得分: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'
请勿将所有IP地址设置为可信任的!