nginx 配置反向代理解析 访问绝对地址 css 图片 404 问题 哪位能解决 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
guke01857
V2EX    Linux

nginx 配置反向代理解析 访问绝对地址 css 图片 404 问题 哪位能解决

  •  
  •   guke01857 2018-02-04 17:22:14 +08:00 10775 次点击
    这是一个创建于 2806 天前的主题,其中的信息可能已经有所发展或是发生改变。

    做了一个 linux nginx 反向解析目录 绑定到 第 2 台 代理服务器;

    主服务器主站 域名 www.a.com 代理服务器 ip:116.118.112.10

    反向解析目录名 test 到 代理服务器 IP

    即 访问 www.a.com/test/ 资源时,访问的是 代理服务器 的资源。

    nginx 站点域名的 伪静态规则配置如下:

    location /test {

    proxy_pass http://116.118.112.10;

    }

    可以成功访问

    但是遇到了一个问题:

    访问 代理代理服务器的静态文件比如 css jss 资源时 页面 404 无法正常加载

    http://www.a.com/test/css/style.css 这种绝对路径 报 404

    在网上找了一段代码加入后,css 可以访问了,但是 首页 index.html 文件确又报 404,不知道啥问题。

    location ~ .*.(js|css)$ { proxy_pass http://127.0.0.1; }

    来回修改半天 伪静态配置文件后,删掉上面那段 js css 的规则文件,只保留 最上面的那个反代目录解析后,发现 index.html 无法访问,css 能访问,本来是不加上面 js|css 这个规则 index.html 可以正常访问,但是现在完全混乱了,貌似是 proxy 缓存问题? 可是我的规则里根本没设定缓存代码,也不知道 nginx 默认的 proxy 缓存目录在哪里。。

    哪位遇到过这个问题,,求解决方案

    18 条回复    2018-02-05 13:57:31 +08:00
    defunct9
        1
    defunct9  
       2018-02-04 17:32:26 +08:00 via iPhone
    开 ssh,我上去搞
    guke01857
        2
    guke01857  
    OP
       2018-02-04 17:52:26 +08:00
    @defunct9 怎么联系你? QQ ?
    defunct9
        3
    defunct9  
       2018-02-04 17:55:16 +08:00 via iPhone
    微信:defunct,明天下午才有时间
    guke01857
        4
    guke01857  
    OP
       2018-02-04 17:56:14 +08:00
    @defunct9 方便加下企鹅号码? 五六三三三四 009
    guke01857
        5
    guke01857  
    OP
       2018-02-04 17:57:06 +08:00
    @defunct9 额。。好吧,比较着急
    0ZXYDDu796nVCFxq
        6
    0ZXYDDu796nVCFxq  
       2018-02-04 17:58:37 +08:00 via iPhone
    这种情况,只有改源站代码才是最佳方案。
    要么全部用相对路径,要么绝对路径加上 /test
    guke01857
        7
    guke01857  
    OP
       2018-02-04 18:06:15 +08:00
    @gstqc 加了,确实还是有问题,感觉应该就是 反代解析规则 写的不对
    h4lbhg1G
        8
    h4lbhg1G  
       2018-02-04 18:19:44 +08:00
    subs_filter_types text/css text/xml text/Javascript application/json;
    subs_filter '/css/style.css' '/test/css/style.css' igr;
    subs_filter "src=\"/css/" "src=\"/test/css/";

    当然你得重新编译 nginx。

    Ubuntu 的话 apt-get source nginx; apt-get build-dep nginx;
    然后 ningx -V 把后面的编译参数拷贝下来,最后加一行--add-module=/src/ngx_http_substitutions_filter_module 重新编译成 deb 安装包就好了。我是本地编译 scp 上传上去的。实际上服务器编译也是一样。

    CentOS 应该也差不多。
    alvinbone88
        9
    alvinbone88  
       2018-02-04 18:22:15 +08:00
    location /test {
    return 302 /test/;
    }
    location /test/ {
    proxy_pass http://116.118.112.10/;
    }
    guke01857
        10
    guke01857  
    OP
       2018-02-04 18:49:29 +08:00
    @alvinbone88 按照你的规则试了下,访问静态文件 如: http://www.00018.net/aaa/css/style.css 报 404 错误
    guke01857
        11
    guke01857  
    OP
       2018-02-04 18:50:35 +08:00
    @h4lbhg1G 我的环境是 linux centos nginx,怎么清除 proxy 代理缓存?
    seers
        12
    seers  
       2018-02-04 19:27:30 +08:00
    location /test/ {

    proxy_pass http://116.118.112.10/;

    }
    Xiaobaixiao
        13
    Xiaobaixiao  
       2018-02-04 19:54:21 +08:00
    @defunct9 #1
    ” dalao “真热心啊,多少次看到你回复都是”开 ssh,我上去搞|看看“。
    guke01857
        14
    guke01857  
    OP
       2018-02-04 20:06:22 +08:00
    @seers 这个规则可以实现反向解析,但是 访问 js css 静态资源就会 404
    h4lbhg1G
        15
    h4lbhg1G  
       2018-02-04 20:27:32 +08:00
    @guke01857 和缓存无关啊 为啥会想到缓存。proxy_cache off; 说真的 你要是愿意给 ssh 权限,我真的现在就可以看看。
    defunct9
        16
    defunct9  
       2018-02-04 21:01:33 +08:00
    @Xiaobaixiao 因为多数人描述的问题,跟实际情况有很大出入。所以一般都是开 ssh,上去眼见为实。

    另外我补充一下问题,因为我上去看了。

    1. 楼主的工作环境是 Win,teamviewer 上去
    2. 楼主用的是宝塔面板,我对此一窍不通
    3. 楼主认为是规则问题,只要改规则就可以解决

    有能力的同学可以上去搞搞。
    mdzz
        17
    mdzz  
       2018-02-04 21:18:02 +08:00   2
    我来试试
    location ^~ /test/ {
    proxy_pass http://116.118.112.10;
    }
    Fuzz
        18
    Fuzz  
       2018-02-05 13:57:31 +08:00
    宝塔面板默认开启了防盗链,你需要把被镜像站点的防盗链白名单配置下
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2712 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 07:28 PVG 15:28 LAX 00:28 JFK 03:28
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86