前端rewrite规则对应nginx代理如何配置

发布时间 2024-01-08 11:45:22作者: 邹姣姣

案例1:

前端域名:sit-meta-xxx.com
前端代理规则:

proxy: {
      '/api': {
        target: 'http://192.168.26.56:8888/api/v1',
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/api/, '')
      },

rewrite会将前端代码中的api去掉。若不加rewrite,则地址最后会变成:/api/v1/api/xxxx
加上rewrite,则是/api/v1/xxxx

所以在nginx中,应该配置将/api去掉,则需要在location /api/ 这个后面加上 / ,在代理的地址后面也加上/ :

       location /api/  {
                proxy_set_header X-Rea $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_set_header X-Nginx-Proxy true;
                proxy_pass http://192.168.26.56:8888/api/v1/;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "Upgrade";
}