nginx proxy_pass与乘客

时间:2011-01-28 18:19:00

标签: ruby-on-rails nginx passenger

我似乎无法使这个nginx配置工作。我有一个rails应用程序,我需要在Java / Tomcat设置的路径下代理所有内容。在锁定下我有另一条路线(确实击中了主轨道应用程序)并且可行,但proxy_pass没有;它只是点击主应用程序。

  • 当我删除lockdown位置指令时,它似乎有效。
  • 重新排序两个location指令无效。

基本配置:

server {
  listen 80;

  root /rails/app/public;
  rails_env development;
  passenger_enabled on;

  location /JavaApp {
    proxy_pass http://127.0.0.1:8080/JavaApp/;
  }

  location /lockdown {
    # Have to re-enable passenger
    passenger_enabled on;
    allow 127.0.0.1;
    deny all;
  }
}

我做错了什么?

2 个答案:

答案 0 :(得分:1)

我以为我已经尝试了所有组合,但是我经历了更多的组合,发现这很有效:

location ~ \.jsp$

令我难以置信的是因为在它抱怨不允许在使用proxy_pass的位置使用正则表达式之前,但我在代理传递行中有一条路径......所以!

这就是诀窍

location ~ /JavaApp {
  proxy_pass http://127.0.0.1:8080;
}

答案 1 :(得分:0)

尝试删除passenger_enabled pn;从服务器{}块的顶层开始,我认为它将开始为你工作。