有客户在访问登录WordPress外贸网站后台时,反馈出现了以下错误提示:
Not Acceptable!
An appropriate representation of the requested resource could not be found on this server. This error was generated by Mod_Security.
导致网站无法正常登录,经过多方面的测试发现,并非网站或服务器原因,在其他不同的网络宽带下,是可以正常访问和登录的。
然后,我们就开始怀疑是否因为客户使用了VPN访问导致的,通过关闭VPN,恢复到正常的国内网络后,网站也恢复正常访问和登录了。
方法一:关闭VPN,恢复正常网络访问
如果你是在开启VPN时也遇到类似访问错误的问题,可以先通过关闭VPN来快速解决。
除此之外,还可以尝试下面的方法
尝试清除浏览器缓存和Cookie
清除浏览器缓存和Cookie后,问题就解决了。我之前无法加载的 url 现在都可以正常加载访问。
尝试从其他浏览器或隐私浏览加载 URL
如果您想确认是否因为服务器阻止了你的访问IP,你可以尝试用另一个浏览器和隐私状态下访问相同的 URL,或者用另外一个电脑访问 相同的 URL,如果一切顺利,那么,清除浏览器缓存和Cookie就可以了。
方法二:在 cPanel 中禁用 Mod_security
因为错误提示中 “This error was generated by Mod_Security.” 显示当前错误是 Mod_Security 生成的,那么,可以可以通过禁用主机的 Mod_Security 方法来解决。
在 cPanel 管理面板中,找到 Security 模块下的 ModSecurity 设置项并打开。
默认情况下,您的所有站点的 ModSecurity 都是 开启 状态,单击 OFF 按钮,禁用 ModSecurity 就可以。
方法三:在 Apache 服务器上使用 .htaccess 禁用 Mod_security
如果你在方法二中,无法在 cPanel 管理面板中,找到 Security 模块下的 ModSecurity 设置项,那么,可以通过在网站根目录下的 .htaccess 文件中添加代码的方法来实现。
把以下代码段添加到网站根目录下的 .htaccess 文件中:
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
以上几种方法基本都可以解决“Not Acceptable! An appropriate representation of the requested resource could not be found on this server. This error was generated by Mod_Security.”的访问错误问题了。
对于方法二和方法三,禁止 Mod_security 的方法,我们强烈建议不要一直禁止。因为:
Mod_Security 是一个集入侵检测和防御引擎功能的开源web应用安全程序(或web应用程序防火墙)。它以Apache Web服务器的模块方式运行,目标是增强web应用程序的安全性,防止web应用程序受到已知或未知的攻击。
警告:WPPOP 强烈 建议您为所有 域启用 ModSecurity™ 。 仅在解决 ModSecurity 相关问题时禁用 Mod_security 。