我最近将我们的 WP 网站迁移到在 Azure 上运行的 Debian 8 VM。从那时起,我们无法通过 RedSys 支付网关处理信用卡付款。
看来,付款成功后,网关会尝试将成功消息发送回我们的服务器,但使用 java/1.5.0 用户代理字符串,这似乎是请求从未到达我们服务器的原因。
似乎 Azure 中正在进行与 CloudFlair 的浏览器完整性检查类似的事情,但就我而言,我无法在网上找到任何关于它的提及。
VM 位于其自己的自动创建的虚拟网络上,我甚至将其从安全组中删除,以查看是否能解决问题,但没有任何效果。服务器正在使用 Azure DNS(这可能是进行过滤的地方吗?如果是,有什么解决方案?)
有人能提供解决方案吗?(显然,作为银行系统,更改正在发送的用户代理是不可能的;我无法让银行改变他们的方式)
答案1
如果其他人遇到这个问题,我只是想澄清解决方案:
我检查了 Azure 上可用的所有设置,解决此问题的唯一方法是从所有安全组中删除 VM,从而禁用 Azure 防火墙。
Azure DNS才不是影响过滤。
现在,与 RedSys 的连接通过使用 VM 上的内部防火墙并忽略 Azure 的安全系统来实现。这很遗憾,我希望他们将来能够实现更细粒度的选项,因为能够利用 Azure Security 的 DDoS 保护等就太好了。