nginx做反向代理,那个MVC应用中的js css 图片地址 这些一大堆的细节怎么处置好啊
nginx做反向代理,那个MVC应用中的js css 图片地址 这些一大堆的细节怎么处置好啊
反向代理很好做
但是那些个细节怎么处理
比如我今天要把这个用用挂在当前serevr(nginx,但是有php python ruby node)应用的根目录
直接http://server_name 既可以访问
明天我要把它挂在
http://server_name/a/下
而且不是我说的算的,领导要变更方案,我也不可预期
像php那样的随便哪个目录可以放太爽了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
1: alias 是个好东西,
2:不管是直接访问, 还是/a 还是/en, 都有个真实地址比如是/c, 那就做代理; /a 代理到/c或者/en 代理到/c 等等..
nginx location做匹配的时候会走最精确的匹配规则,匹配静态资源的时候,匹配规则写准确一点就不会走代理了。 ~ ^/en/static/js/(.*)$ { alias ...... } ~ ^/en/static/images/(.*)$ { alias ...... }
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/
}
@红薯
location ~ ^/style/(.*)$ {
concat on;
alias /mnt/resource/style/$1;
}
location ~ ^/js/(.*)$ {
concat on;
alias /mnt/resource/js/$1;
}
再加一个匹配规则,能否解决问题呢?