Plivo 入站短信被 Modsec 阻止?

Plivo inbound SMS blocked by Modsec?

哦,天哪 - 这对我来说是新的。

几个月来,我一直在使用 Plivo 支持的 SMS 应用程序 运行(或多或少完美无缺)。 2 天前,它无缘无故地停止响应我的入站短信。那时我没有太多时间弄清楚,但我终于有时间看东西了,坦率地说,它很丑。

尽我所能提供的详细信息:我通过 HostGator 运行 我的网络服务器,它在过去运行良好。我对 Plivo 的处理语言是 PHP。现在,入站短信甚至没有到达我的处理脚本,所以这就是错误所在 - Plivo 将消息报告为 "undelivered",调试级别的错误日志为我提供了这个很好的警告:

Incoming Message 0287e6ce-0d30-11e6-a4b5-22000afd08f6: fetch_message_url POST (URL HERE) with {'To': 'Valid Number', 'From': 'Another Valid Number', 'TotalRate': '0', 'Units': '1', 'Text': 'Weather', 'TotalAmount': '0', 'Type': 'sms', 'MessageUUID': 'Valid UUID'} -- failure- 406 Not Acceptable!

Not Acceptable!

An appropriate representation of the requested resource could not be found on this server. This error was generated by Mod_Security.

请注意,所有识别信息都已从该块引用中删除。我目前正在下载 modsec error_log,最上面是这个:

[Wed Apr 27 23:11:39 2016] [notice] Digest: generating secret for digest authentication ...

时间戳正好是最后一次成功发送短信后 1 分钟,第一个失败短信前约 30 分钟。我不知道该错误日志是在 modsec 启动时出现的,还是发生了什么,但我认为这可能与它有关。我正在努力寻找解决方案,这是我目前想出的办法:

找到 Plivo 入站 SMS IP(它发帖的 IP)并在 modsec 中将其列入白名单

找到一种方法来修改 PHP 脚本的预期内容,以便它可以让 post 通过?

还有什么可以推荐的。我正在搜索(下载的内容)modsec 错误日志,它显示了很多我认为不适用于我的特定子账户的内容。到目前为止,我还没有在其中找到对我的用户文件夹或 "plivo" 的引用。推荐?

联系 HostGator 支持并要求他们允许来自 non-HostGator 服务器的传入 POSTS 到您的脚本文件或整个站点。

或者您可以将 Plivo 用来发出请求的方法更改为 GET 方法,而不是默认的 POST 方法。

Plivo Manage Dashboard - Number section中(如下图所示) 单击与您的号码关联的应用程序(在我的示例中为会议桥)。在下一页中查找消息 url 和方法。

将方法更改为 GET 并单击底部的更新。现在你不应该得到这个错误。