首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理不同服务器上的静态文件

如何处理不同服务器上的静态文件
EN

Stack Overflow用户
提问于 2018-06-11 16:55:03
回答 1查看 16关注 0票数 1
代码语言:javascript
复制
upstream app_server {
    server unix:/tmp/gunicorn.sock fail_timeout=0;
 }

upstream another_server {
    server 192.168.128.11;
}

server {
    server_name test.com;
    listen 80;


    location       / {
        proxy_pass http://app_server;
        proxy_set_header Host $host;
    }

    location    ~ \.(js|css|jpeg|jpg|png|gif|ico|mp4|json) {
        root     /www/app;
        try_files $uri /$1/$2.$4;
    }

    location ~ /anotherapp {
        proxy_pass http://another_server;
        proxy_set_header Host $host;
    }
}

我在不同的机器上有两台服务器,我不知道如何处理another_server中的静态文件。

当我获得test.com/anotherapp/index.js资源时,它返回app_server中的文件,而不是another_app服务器中的文件。

问题是如何处理another_app服务器中的静态文件

EN

回答 1

Stack Overflow用户

发布于 2018-06-11 17:57:53

将按顺序计算正则表达式location语句,直到找到匹配的正则表达式。

因此,/anotherapp/index.js先匹配\.(js|css|jpeg|jpg|png|gif|ico|mp4|json),然后再匹配/anotherapp

您有两个选择:

或者,颠倒正则表达式location块的顺序,以便首先遇到location ~ /anotherapp

或者,使用带有^~修饰符的前缀location (它将始终优先于任何正则表达式location),例如:

代码语言:javascript
复制
location ^~ /anotherapp { ... }

详情请参见this document

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50793824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档