nginx 求助,这个反向代码如何写 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
q414625852
V2EX    NGINX

nginx 求助,这个反向代码如何写

  •  
  •   q414625852 2019-09-23 09:30:45 +08:00 4551 次点击
    这是一个创建于 2279 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我有一个 node 站点,纯静态服务,是一些文档内容,解析 md 生成html: http://aaa.com:8888

    另外还有一个站点:http://bbb.com

    现在想把第一个站点链接通过http://bbb.com/doc形式访问,但是遇到一些问题,下面是我的 nginx 配置:

    # bbb 机器 server { listen 80; gzip on; location / { root /home/work/wwwserver; } location /doc/ { proxy_pass http://aaa.com:8888; } } 

    主要问题如下:

    • 1、访问 bbb.com/doc 时,静态资源没有加载,静态资源返回的内容还是 aaa 站点的 html
    • 2、aaa.com:8888/readme.md 可以返回 html,但是这样修改后会发生 301 跳转

    网上搜了一些资料也没有解决,希望大家指点一下

    19 条回复    2019-09-23 14:04:54 +08:00
    mikeguan
        1
    mikeguan  
       2019-09-23 09:50:15 +08:00 via Android
    md 生成 html 的时候需要指定域名二级目录
    rootww21
        2
    rootww21  
       2019-09-23 10:11:34 +08:00
    需要将 http://aaa.com:8888 站点修改为 http://aaa.com:8888/doc 这样的访问方式
    也就是需要一个前缀
    nginx 配置不动
    ytlm
        3
    ytlm  
       2019-09-23 10:15:02 +08:00
    尝试将请求格式改成 bbb.com/doc/
    ytlm
        4
    ytlm  
       2019-09-23 10:16:20 +08:00
    @ytlm #3 或者将 location /doc/ 改成 location /doc 请求格式不变,不行的话就把日志打开看看日志有没有什么异常的
    q414625852
        5
    q414625852  
    OP
       2019-09-23 10:50:19 +08:00
    /div>
    @ytlm 如果改成 /doc,则会出现下面情况:

    1、访问 bbb.com/doc,静态资源全部 404,日志的话就是静态资源访问不到 bbb.com/js/bundle.js (这个资源是相对路径./js/bundle.js )
    2、访问 bbb.com/doc/,静态资源 200,但返回的是当前的 html,没有错误日志
    seers
        6
    seers  
       2019-09-23 10:50:36 +08:00
    /doc/ -> /doc
    seers
        7
    seers  
       2019-09-23 10:52:58 +08:00
    加一个 proxy_redirect off 试试
    q414625852
        8
    q414625852  
    OP
       2019-09-23 10:54:00 +08:00
    @seers 这样也不行,访问 bbb.com/doc/readme.md 的话,会出现 301 Moved Permanently
    seers
        9
    seers  
       2019-09-23 10:55:54 +08:00
    你加了 server_name 吗,在 server block 里面
    q414625852
        10
    q414625852  
    OP
       2019-09-23 10:57:37 +08:00
    或者简化为,有一个站点是 aaa.com:888,如果通过 bbb.com/doc 完全代理该站点,假设 aaa.com:8888 里的静态资源都是相对路径,使得访问 bbb.com/doc/dev/run.md 可以看到 aaa.com:888/dev/run.md 的内容
    q414625852
        11
    q414625852  
    OP
       2019-09-23 11:12:25 +08:00
    @seers 问下这个 server_name 怎么写。。
    txydhr
        12
    txydhr  
       2019-09-23 11:15:11 +08:00 via iPad
    头像
    play78
        13
    play78  
       2019-09-23 11:15:28 +08:00
    这两个换一下顺序 /doc/ 放到上面
    seers
        14
    seers  
       2019-09-23 11:23:48 +08:00
    server {
    listen 80;

    server_name bbb.com;

    ...


    location /doc {
    proxy_pass http://aaa.com:8888;
    }
    }
    silenceeeee
        15
    silenceeeee  
       2019-09-23 11:26:21 +08:00
    # bbb 机器
    ```
    server {
    listen 80;
    gzip on;
    root /home/work/wwwserver;
    }
    location /doc/ {
    proxy_pass http://aaa.com:8888;
    }
    }
    ```
    silenceeeee
        16
    silenceeeee  
       2019-09-23 11:32:25 +08:00
    @silenceeeee 算了,无视我吧.前面这一条回复触发了回复按钮快捷键,我修正了回复时,提示我包含外链,回复不了了:
    ```请不要在每一个回复中都包括外链,这看起来像是在 spamming```
    lxlnbdywsxs
        17
    lxlnbdywsxs  
       2019-09-23 11:40:29 +08:00
    没太看明白,一个 Nginx 两个站点?
    jerrodpoole
        18
    jerrodpoole  
       2019-09-23 12:46:51 +08:00
    # bbb 机器
    server {
    listen 80;
    gzip on;
    location / {
    root /home/work/wwwserver;
    }
    location /doc/ {
    proxy_pass http://aaa.com:8888/;
    }
    }

    8888 后面加上 / (URI)
    sazima
        19
    sazima  
       2019-09-23 14:04:54 +08:00
    #18 正解
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3311 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 04:23 PVG 12:23 LAX 20:23 JFK 23:23
    Do have faith in what you're doing.
    ubao msn 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