带有Rails的Nginx多个主机

时间:2016-11-10 09:31:17

标签: ruby-on-rails ruby nginx

我在Ruby on Rails中有2个应用程序。 +乘客。它们位于/var/www/app1/var/www/app2。我想在URL中使用一个前缀来确定我想要哪一个。

我们假设http://example.com/app1/users?order=id转到app1而http://example.com/app2/items转到app2。

我怎样才能做到这一点?我尝试使用代理解决它但成功了。

更新:这是我的尝试。但我不确定我做得对。

location ~ ^/app1 {
    rewrite /app1(.*) /$1  break;
    proxy_pass http://127.0.0.1:9111;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_redirect off;
}
location ~ ^/app2 {
    rewrite /app2(.*) /$1  break;
    proxy_pass http://localhost:9112;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-Forwarded-Proto $scheme;
}

server {
  listen 9112;
  listen [::]:9112;
  error_log  /usr/local/var/log/nginx/error.log;
  # Self signed certs generated by the ssl-cert package
  passenger_enabled on;
  root /var/www/app2/public;
  rails_env development;
}

server {
  listen 9111;
  listen [::]:9111;
  error_log  /usr/local/var/log/nginx/error.log;
  # Self signed certs generated by the ssl-cert package
  passenger_enabled on;
  root /var/www/app1/public;
  rails_env development;
}

0 个答案:

没有答案