1

好的,这绝对是令人恼火的调试,我终于弄清楚它是什么了。我不知道如何或为什么,虽然......

更糟糕的是,它不会影响我的开发环境,所以我无法对其进行测试。它只发生在生产中(apache/phusion 乘客)。

此外,无论出于何种原因,它都没有产生 500 错误,因此我可以阅读日志......它给出了这个错误,这没有帮助。引起我注意的第一件事是它寻找“500.shtml”,这不是我不相信500页的rails标准(这不只是500.html吗?)。它就像是由apache或其他东西生成的。

Started GET "/500.shtml" for **ip-address-here** at 2012-07-31 20:22:39 -0400

ActionController::RoutingError (No route matches [GET] "/500.shtml"):
  actionpack (3.2.7) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
  actionpack (3.2.7) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
  railties (3.2.7) lib/rails/rack/logger.rb:26:in `call_app'
  railties (3.2.7) lib/rails/rack/logger.rb:16:in `call'
  actionpack (3.2.7) lib/action_dispatch/middleware/request_id.rb:22:in `call' 
  ... continued ...

如果我有任何与“select from”匹配的描述,它会将我的应用程序转发到 404 页面(不是上面缺少的 500.shtml)

你认为这可能与我服务器上的一些 apache 模块有关吗?这是我唯一能想到的

即使这个词不完全是“选择”,它仍然会这样做。它可能是“从这组零食中愉快地选择你的选择”,它仍然会触发它。

我有 root 访问权限,所以我可以和我的主机交谈,但我想了解更多关于什么可能导致这种情况的想法,因为他们不提供 rails 支持

4

1 回答 1

1

看看这个链接:http ://drupal.org/node/110219

您的虚拟主机可能为 mod_security 配置了极其严格的规则。

您可以尝试通过添加以下内容来关闭 mod_security 以.htaccess进行故障排除(确保这是导致它的原因):

 # Turn off mod_security filtering.
 <IfModule mod_security.c>
   SecFilterEngine Off
 </IfModule>

一个更安全的选择(假设这是一个 POST):

# To disable POST filtering:
 <IfModule mod_security.c>
   SecFilterScanPOST Off
 </IfModule>

http://www.modsecurity.org/documentation/quick-examples.html

于 2012-08-01T03:30:07.927 回答