Phusion Passenger 有一个用于在 suburi 下部署 Ruby 应用程序的示例配置:https://www.phusionpassenger.com/library/deploy/nginx/deploy/ruby/
这样您就不必单击配置:
http {
...
server {
listen 80;
server_name www.phusion.nl;
root /websites/phusion/public;
passenger_enabled on;
# This is the important bit
location ~ ^/subpath(/.*|$) {
alias /websites/secondapp/public$1;
passenger_base_uri /subpath;
passenger_app_root /websites/secondapp;
passenger_document_root /websites/secondapp/public;
passenger_enabled on;
}
}
}
然而,当我为自己的应用程序构建类似的东西时,这还似乎工作正常:
location /subpath {
alias /websites/secondapp/public;
passenger_base_uri /subpath;
passenger_app_root /websites/secondapp;
passenger_document_root /websites/secondapp/public;
passenger_enabled on;
}
我更喜欢更简单的配置,而且它似乎对我有用。它还允许我嵌套更多位置指令,例如将某些路由的 IP 列入白名单。我是不是刚刚制造了一个定时炸弹,而这个炸弹会在我之后爆炸?
答案1
定时炸弹爆炸了——看来我得用困难的方式回答我自己的问题了。
我们有一个应用程序服务/
和几个在子路线上的应用程序,例如/foo
和/bar
。
根应用程序有一个端点,使用此配置,该端点由下属应用程序而不是根应用程序/foo_samples
提供服务。/foo