Nginx   发布时间:2022-05-11  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了嵌套位置中的Nginx反向代理大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

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

我的原始配置是这样的

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

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

...

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

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

由于我有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;
}

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

请注意,每个应用程序都提供自己的静态文件.

最佳答案
也许您可以使用正则表达式将特定URI与上游应用程序匹配,而不是拥有多个位置:

LOCATIOn ~ /(app)(\d+) {
   proxy_pass http://127.0.0.1:808$2/$1$2;
   include static_file_config.conf;
}

你可以在这里看到它是如何工作的:https://regex101.com/r/sM3eS9/1

大佬总结

以上是大佬教程为你收集整理的嵌套位置中的Nginx反向代理全部内容,希望文章能够帮你解决嵌套位置中的Nginx反向代理所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: