【问题标题】:Nginx with redmine as sub uri doesn't work使用 redmine 作为子 uri 的 Nginx 不起作用
【发布时间】:2013-10-17 16:00:00
【问题描述】:

我在我的树莓派上安装了带有 Thin 和 nginx 的 redmine。我可以使用http://raspberrypi/ 访问我的 redmine 安装。但是我希望它是http://raspberrypi/redmine

我当前(工作)的 nginx 站点配置如下所示:

upstream redmine {
  server unix:/var/run/thin/redmine.0.sock;
}

server {
  listen 80;
  server_name raspberrypi;
  root /usr/share/redmine/public;

  location / {
    proxy_pass http://redmine/;
  }
}

当我将位置行更改为location /redmine { 时,我可以使用http://raspberrypi/redmine 访问redmine,但所有链接都指向http://raspberrypi/,而没有附加“redmine”并且无法正常工作。

【问题讨论】:

    标签: nginx rewrite redmine thin


    【解决方案1】:

    config/environment.rb 的底部添加以下行

    Redmine::Utils::relative_url_root = "/redmine"
    

    --prefix /redmine 启动瘦服务器,在我的例子中:

    thin start --prefix "/redmine" -s1 --socket /tmp/thin.sock
    

    将你的 nginx 配置更改为:

    location /redmine {
       proxy_pass http://redmine/redmine;
    }
    

    同时查看documentation

    【讨论】:

    • 感谢您的回复,不幸的是它不起作用(我尝试了 wiki 中的两行)。我是否必须更改 nginx 配置中的其他任何内容?
    • 谢谢!!这样可行!我今天在这上面花了很多时间,而你拯救了这一天;)。
    【解决方案2】:

    更改“/var/www/redmine/config”/environment.rb 底部的以下行

    改变 ::

    # Initialize the Rails application
    Rails.application.initialize!
    

    到::

    RedmineApp::Application.routes.default_scope = "/redmine" 
    # Initialize the Rails application
    Rails.application.initialize!
    

    网址:http://adresse_ip/redmine

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-16
      • 2019-04-29
      • 2011-08-25
      • 1970-01-01
      • 2018-09-28
      • 2020-07-29
      相关资源
      最近更新 更多