V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
echooo0
V2EX  ›  NGINX

nginx location 匹配问题

  •  
  •   echooo0 · 2022-02-11 14:46:28 +08:00 · 1657 次点击
    这是一个创建于 777 天前的主题,其中的信息可能已经有所发展或是发生改变。

    通过 nginx 反代到后端的应用服务器,css ,js 文件也放在后端这个应用服务器

    那么怎么单独给这些 css,js 静态文件配置 expires 参数呢?

    试过下面这种写法,导致 css ,js 文件没走反代,因而就访问不到了

    location ~ .*\.(js|css)?$
            {
                expires      12h;
            }
    
    location / {
                proxy_pass http://127.0.0.1:8090;
            }
    
    9 条回复    2022-02-11 17:41:42 +08:00
    Ansen
        1
    Ansen  
       2022-02-11 14:55:38 +08:00
    expires 下面也加一行 proxy_pass 试试
    Coolxiaobai
        2
    Coolxiaobai  
       2022-02-11 14:57:05 +08:00
    在后端应用服务器单独跑个静态文件映射,顺便设置 expires 参数?
    echooo0
        3
    echooo0  
    OP
       2022-02-11 15:14:38 +08:00
    @Ansen 好像只有这么写了
    Coolxiaobai
        4
    Coolxiaobai  
       2022-02-11 15:14:58 +08:00
    1 楼的没毛病,通过 http://127.0.0.1:8090 能访问到这个静态资源的话。这个方法就可行
    undeflife
        5
    undeflife  
       2022-02-11 15:25:13 +08:00
    第一个 location 里加上 break
    fatbear
        6
    fatbear  
       2022-02-11 16:24:55 +08:00
    第一个 location 里加上静态文件目录
    fatbear
        7
    fatbear  
       2022-02-11 16:25:36 +08:00
    location ~ .*\.(js|css)?$
    {
    root /opt/project/ui
    expires 12h;
    }
    niuzhewen
        8
    niuzhewen  
       2022-02-11 16:54:38 +08:00 via Android
    @fatbear 正解
    Showfom
        9
    Showfom  
       2022-02-11 17:41:42 +08:00
    @fatbear #6 他反代的资源不一定在本地有实际的目录的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2828 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 13:25 · PVG 21:25 · LAX 06:25 · JFK 09:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.