7
回答
nginx做反向代理,那个MVC应用中的js css 图片地址 这些一大堆的细节怎么处置好啊
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

nginx做反向代理,那个MVC应用中的js  css  图片地址  这些一大堆的细节怎么处置好啊

反向代理很好做

但是那些个细节怎么处理

比如我今天要把这个用用挂在当前serevr(nginx,但是有php python ruby node)应用的根目录

直接http://server_name 既可以访问


明天我要把它挂

http://server_name/a/下

而且不是我说的算的,领导要变更方案,我也不可预期


像php那样的随便哪个目录可以放太爽了。


举报
哈哈__哈哈
发帖于4年前 7回/1K+阅
共有7个答案 最后回答: 4年前
        location ~ ^/style/(.*)$ {
        concat on;
            alias /mnt/resource/style/$1;
        }
    location ~ ^/js/(.*)$ {
        concat on;
        alias /mnt/resource/js/$1;

    }

再加一个匹配规则,能否解决问题呢?

把你url 的访问 重定向到本地 的那个 静态文件存放点

location /static/ {

            alias /xx/xxx/static/

}

比如我的根目录就是一个

比如我的nginx把http://server_name/en/

就把/en/  rewrite  反向代理到



 location  /en/ {
            rewrite ^/en/(.*)$ /$1 break;
            #rewrite /index/en break;
            proxy_pass http://127.0.0.1:8080;
            proxy_buffering off;
            proxy_redirect off;
        }



如下


但是我要把


访问的localhost/en/js/sss.js还有图片这样的  东西全部直接用nginx处理

引用来自“晓骏”的答案

把你url 的访问 重定向到本地 的那个 静态文件存放点

location /static/ {

            alias /xx/xxx/static/

}

就是我比如仅仅想对

localhost /en/

{

}


下面的css js png这些做一个这样静态处理,其他的我不动它,怎么做?

引用来自“一笑居”的答案

        location ~ ^/style/(.*)$ {
        concat on;
            alias /mnt/resource/style/$1;
        }
    location ~ ^/js/(.*)$ {
        concat on;
        alias /mnt/resource/js/$1;

    }

再加一个匹配规则,能否解决问题呢?

concat貌似nginx没有,

alias是链接过去还是怎么的?

什么意思

--- 共有 1 条评论 ---
一笑居nginx location做匹配的时候会走最精确的匹配规则,匹配静态资源的时候,匹配规则写准确一点就不会走代理了。 ~ ^/en/static/js/(.*)$ { alias ...... } ~ ^/en/static/images/(.*)$ { alias ...... } 4年前 回复

1: alias 是个好东西, 

2:不管是直接访问, 还是/a 还是/en, 都有个真实地址比如是/c, 那就做代理; /a 代理到/c或者/en 代理到/c 等等..

顶部