我在apache服务器上托管了一个带有phusion乘客的rails 4应用程序,当我尝试访问受密码保护的管理页面时,我收到500错误。
查看日志,我发现由于可能的配置错误,我得到了一个"请求超过了10个内部重定向的限制。"
我已经在网上看了SO,看起来这通常来自一个配置不当的.htaccess。问题是我的应用程序正在使用 http_basic_authenticate_with ,因此我不确定如何解决问题。
这是我的admin_controller.rb,其中包含身份验证:
class AdminController < ApplicationController
@config_name = CONFIG["name"]
@config_password = CONFIG["password"]
http_basic_authenticate_with :name => @config_name,
:password => @config_password,
:realm => (I18n.t "msg_authentication")
这是我的routes.rb(我不认为错误来自这里):
LandingPage::Application.routes.draw do
get "admin/gestion"
get "admin/download"
get "admin/email"
get "admin/show"
get "admin/new"
get "admin/validate"
get "admin", to: "admin#home"
root 'main#home'
resources :mail_infos, controller: :main, :path => "/"
resources :mail_bodies, controller: :admin, :path => "/admin"
end
我的虚拟主机代码:
PassengerRuby /usr/local/rvm/gems/ruby-2.1.0/wrappers/ruby
<VirtualHost *:80>
ServerName DOMAIN.com
DocumentRoot /var/landing-page/public
<Directory /var/landing-page/public>
Allow from all
Options -MultiViews
</Directory>
RewriteEngine off
LogLevel debug
ErrorLog /var/log/apache2/landing-page.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
# LogLevel warn
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
这是我的apache呈现应用程序的日志:
[Wed Mar 19 13:44:51 2014] [error] [client 98.14.198.144] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
[Wed Mar 19 13:44:51 2014] [debug] core.c(3063): [client 98.14.198.144] r->uri = /index.php
[Wed Mar 19 13:44:51 2014] [debug] core.c(3069): [client 98.14.198.144] redirected from r->uri = /index.php
[Wed Mar 19 13:44:51 2014] [debug] core.c(3069): [client 98.14.198.144] redirected from r->uri = /index.php
[Wed Mar 19 13:44:51 2014] [debug] core.c(3069): [client 98.14.198.144] redirected from r->uri = /index.php
[Wed Mar 19 13:44:51 2014] [debug] core.c(3069): [client 98.14.198.144] redirected from r->uri = /index.php
[Wed Mar 19 13:44:51 2014] [debug] core.c(3069): [client 98.14.198.144] redirected from r->uri = /index.php
[Wed Mar 19 13:44:51 2014] [debug] core.c(3069): [client 98.14.198.144] redirected from r->uri = /index.php
[Wed Mar 19 13:44:51 2014] [debug] core.c(3069): [client 98.14.198.144] redirected from r->uri = /index.php
[Wed Mar 19 13:44:51 2014] [debug] core.c(3069): [client 98.14.198.144] redirected from r->uri = /index.php
[Wed Mar 19 13:44:51 2014] [debug] core.c(3069): [client 98.14.198.144] redirected from r->uri = /index.php
[Wed Mar 19 13:44:51 2014] [debug] core.c(3069): [client 98.14.198.144] redirected from r->uri = /admin
[Wed Mar 19 13:44:51 2014] [debug] mod_deflate.c(615): [client 98.14.198.144] Zlib: Compressed 632 to 387 : URL /index.php
Rails可能会使用与http_basic_authenticate_with类似的.htaccess。所以如果我能得到如何修改http_basic_authenticate_with,就像人们通常修改.htaccess那样会很棒,谢谢。
编辑:正如Zhuuanpin Zhu所怀疑的那样,这个问题似乎与http_basic_authenticate_with方法无关。我已将其评论出来,但仍有问题。事实上,如果我试着去:
DOMAIN.com/none-existing-page
我仍然收到500服务器错误,&#34;从r-> uri = /index.php" 消息重定向。在所有逻辑中,我应该得到404错误。
如果我注释掉&#34; root&#34; routes.rb中的命令DOMAIN.com给出了404错误,但DOMAIN.com/none-existing-page仍然发出500 apache错误。
答案 0 :(得分:0)
你可能有一个递归的redirect_to方法。看日志,
redirected from r->uri = /index.php
此redirected_to显示超过10次,因此请检查您的相关控制器,或发布它。
答案 1 :(得分:0)
问题来自/ var /中的.htaccess,它影响了/ var / landing-page中的网站。