我在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;
}