账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    nginx重写路由再代理到nuxt.js后与服务端渲染不一至
    29
    0

    题目描述

    比如 nuxt.js 路由是 /article/info/5,nginx重写后变成 /ai5/ 再还原之后代理到3000端口,这时提示与服务器端渲染不一至

    题目来源及自己的思路

    没有思路

    相关代码

    // 请把代码文本粘贴到下方(请勿用图片代替代码)
    nginx反向代理配置如下
    location /__webpack_hmr{

    proxy_pass                  http://127.0.0.1:3000;
    proxy_set_header            Host $host; 
    proxy_set_header            X-Real-IP $remote_addr; 
    proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for;
    break;

    }

    location ~ /ai(d+)/ {

    #return 404;
    rewrite ^/ai(\d+)/$ /article/info/$1/ break;
    
    proxy_pass                  http://127.0.0.1:3000;
    proxy_set_header            Host $host; 
    proxy_set_header            X-Real-IP $remote_addr; 
    proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for;
    break;

    }

    location ~ /c(d+)/ {

    #return 404;
    rewrite ^/c(\d+)/$ /category/$1/ break;
    
    proxy_pass                  http://127.0.0.1:3000;
    proxy_set_header            Host $host; 
    proxy_set_header            X-Real-IP $remote_addr; 
    proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for;
    break;

    }

    location /al/ {

    #return 404;
    rewrite ^/al/$ /article/list/ break;
    
    proxy_pass                  http://127.0.0.1:3000;
    proxy_set_header            Host $host; 
    proxy_set_header            X-Real-IP $remote_addr; 
    proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for;
    break;

    }

    location ~ /al(d+)/ {

    #return 404;
    rewrite ^/al(\d+)/$ /article/list/$1/ break;
    
    proxy_pass                  http://127.0.0.1:3000;
    proxy_set_header            Host $host; 
    proxy_set_header            X-Real-IP $remote_addr; 
    proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for;
    break;

    }

    location /as/ {

    #return 404;
    rewrite ^/as/$ /article/special/ break;
    
    proxy_pass                  http://127.0.0.1:3000;
    proxy_set_header            Host $host; 
    proxy_set_header            X-Real-IP $remote_addr; 
    proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for;
    break;

    }

    location ~ /as(d+)/ {

    #return 404;
    rewrite ^/as(\d+)/$ /article/special/info/$1/ break;
    
    proxy_pass                  http://127.0.0.1:3000;
    proxy_set_header            Host $host; 
    proxy_set_header            X-Real-IP $remote_addr; 
    proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for;
    break;

    }

    location ~ /asl(d+)/ {

    #return 404;
    rewrite ^/asl(\d+)/$ /article/special/$1/ break;
    
    proxy_pass                  http://127.0.0.1:3000;
    proxy_set_header            Host $host; 
    proxy_set_header            X-Real-IP $remote_addr; 
    proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for;
    break;

    }

    location ~ /aki(d+)/ {

    #return 404;
    rewrite ^/aki(\d+)/$ /ask/info/$1/ break;
    
    proxy_pass                  http://127.0.0.1:3000;
    proxy_set_header            Host $host; 
    proxy_set_header            X-Real-IP $remote_addr; 
    proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for;
    break;

    }

    location / {

    if ( $request_uri !~* ^/api ) {
        rewrite ^/article/info/(\d+)(\/?)$ /ai$1/ permanent;
        rewrite ^/article/list/(\d+)(\/?)$ /al$1/ permanent;
        rewrite ^/article/list(\/?)$ /al/ permanent;
        rewrite ^/article/special/info/(\d+)(\/?)$ /as$1/ permanent;
        rewrite ^/article/special/(\d+)(\/?)$ /asl$1/ permanent;
    
        rewrite ^/article/special(\/?)$ /as/ permanent;
        rewrite ^/category/(\d+)(\/?)$ /c$1/ permanent;
    
        rewrite ^/ask/info/(\d+)(\/?)$ /aki$1/ permanent;
        rewrite ^([^.]*[^/])$ $1/ permanent;
    }
    
    proxy_pass                  http://127.0.0.1:3000;
    proxy_set_header            Host $host; 
    proxy_set_header            X-Real-IP $remote_addr; 
    proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for;

    }

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部