小编Jos*_*nio的帖子

嵌套位置中的 Nginx 反向代理

我使用 Nginx 作为多个服务器中多个应用程序的反向代理,并且尝试将通用缓存指令添加到每个应用程序的静态文件中。

我原来的配置是这样的:

location /app1{
    ...
    proxy_pass http://127.0.0.1:8081/app1;
}

location /app2{
    ...
    proxy_pass http://127.0.0.1:8082/app2; 
}

...
Run Code Online (Sandbox Code Playgroud)

要添加静态文件指令,我可以向每个位置添加嵌套位置,如下所示:

location /app1{
    ...
    proxy_pass http://127.0.0.1:8081/app1;
    location ~* \.(css|js|ico|gif|jpg|jpeg|png)$ {
        expires 1d;
        ...
        proxy_pass http://127.0.0.1:8081;
    }
}

location /app2{
    ...
    proxy_pass http://127.0.0.1:8082/app2;
    location ~* \.(css|js|ico|gif|jpg|jpeg|png)$ {
        expires 1d;
        ...
        proxy_pass http://127.0.0.1:8082;
    }
}
Run Code Online (Sandbox Code Playgroud)

由于我有大约 30 个应用程序,因此我尝试将代码简化为如下所示:

location /app1{
    ...
    proxy_pass http://127.0.0.1:8081/app1;
    include static_file_config.conf;
}

location /app2{
    ...
    proxy_pass http://127.0.0.1:8081/app2;
    include static_file_config.conf;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法可以简化代码,这样我就不会以 30 个相同的静态文件位置结束?

请注意,每个应用程序都有自己的静态文件。

nginx cache reverse-proxy static-content

5
推荐指数
1
解决办法
9934
查看次数

标签 统计

cache ×1

nginx ×1

reverse-proxy ×1

static-content ×1