【问题标题】:apache proxying subdir to rails appapache代理子目录到rails应用程序
【发布时间】:2011-09-24 20:15:55
【问题描述】:

我想在我域外的子目录中运行一个 Rails 应用程序(实际上是 redmine)。像http://foobar.com/redmine 这样的东西。 Redmine 作为一个独立的乘客实例运行,我想代理请求。

passenger start -a 127.0.0.1 -p 8000 -e production

如果我从服务器本地访问它,我可以确认应用程序正在运行。

lynx http://127.0.0.1:8000/

现在我不知道如何让 Apache 正确地为应用程序提供服务。这就是我所拥有的,但它并不完全正确:

Alias /redmine /home/redmine/www/redmine-1.2/public
<Directory /home/redmine/www/redmine-1.2/public>
  allow from all
  ProxyPass http://127.0.0.1:8000
  ProxyPassReverse http://127.0.0.1:8000
</Directory>

它可以很好地从公用文件夹中提供静态资产,但似乎无法正确代理请求。一切都返回 403。Apache 日志:

client denied by server configuration: proxy:http://127.0.0.1:8000

【问题讨论】:

    标签: apache proxy passenger config subdirectory


    【解决方案1】:

    想通了。阿帕奇配置:

    <Location /redmine>
      Order deny,allow
      Allow from all
      ProxyPass http://127.0.0.1:8000
      ProxyPassReverse http://127.0.0.1:8000
    </Location>
    

    然后将这一行添加到 config/environment.rb:

    config.action_controller.relative_url_root = "/redmine"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-06
      • 2011-03-22
      • 2016-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-12
      • 2018-12-19
      相关资源
      最近更新 更多