Nginx + Passenger 子目录位置

Nginx + Passenger 子目录位置

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

相关内容