哦,男孩 - 这对我来说是一个新的。
我有一个 Plivo 驱动的 SMS 应用程序运行(或多或少完美无瑕)几个月了。2天前,它无缘无故停止回复我的入站短信。那时我没有太多时间去弄清楚,但我终于有时间看东西了,坦率地说,这很丑陋。
尽我所能提供的详细信息:我正在通过 HostGator 运行我的网络服务器,过去它运行良好。我对 Plivo 的处理语言是 PHP。现在,入站 SMS 甚至没有到达我的处理脚本,所以这就是错误所在 - Plivo 将消息报告为“未传递”,并且调试级错误日志为我提供了这个很好的警告:
传入消息 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'} -- 失败- 406 不可接受!
不能接受的!
在此服务器上找不到所请求资源的适当表示。此错误是由 Mod_Security 生成的。
请注意,任何识别信息都已从该块引用中删除。我目前正在下载 modsec error_log,最上面的是:
[Wed Apr 27 23:11:39 2016] [notice] Digest: generating secret for digest authentication ...
时间戳正好是最后一条成功发送的 SMS 之后的 1 分钟,以及第一个失败的 SMS 之前的大约 30 分钟。我不知道该错误日志是否是 modsec 启动的时间,或者发生了什么,但我认为这可能与它有关。我正在努力寻找解决方案,这就是我目前想出的:
找到 Plivo 入站 SMS IP(它从中发布的 IP)并在 modsec 中将其列入白名单
或者
找到一种方法来修改 PHP 脚本所期望的内容,以便它可以让帖子通过?
或者
还有什么可以推荐的。我正在搜索(下载的内容)modsec 错误日志,它显示了很多我认为不适用于我的特定子帐户的内容。到目前为止,我还没有在其中找到对我的用户文件夹或“plivo”的引用。建议?