windows下安装nginx配置接口转发

背景

前后端联调接口时,需要连接后端大佬本地程序进行联调;有时需求多时,可能会与多个不同地址本地调试,前端每次都得重新配置代理重新运行项目。
为了解决快速调试问题,直接在本地起个nginx代理接口转发,这样每个前端项目只需要监听一个端口就可以了,api地址也只需要在nginx配置一次, 简直爽歪歪,谁用谁知道~~~

前端配置

监听自己本地9001端口即可

proxy: {
      [process.env.VUE_APP_BASE_API]: {
        target: "http://127.0.0.1:9001",
        changeOrigin: true,
        pathRewrite: {
          ['^' + process.env.VUE_APP_BASE_API]: ''
        }
      },
}

nginx 配置

windows下 的nginx.config 配置 监听9001端口及路由匹配:

#user  nobody;
worker_processes  4; 线程数,一般为核数的倍数


#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;



events {
    worker_connections  1024;  最大连接数默认1024
    multi_accept on;           如果禁用multi_accept,工作进程将一次接受一个新连接。否则,工作进程将一次接受所有新连接。如果使用kqueue连接处理方法,该指令将被忽略,
                                因为它报告等待接受的新连接的数量。
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    gzip on;              开启gzip
   
    server {
        listen       127.0.0.1:9001; 监听9001端口
        
        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        以下配置为路由识别:^~ 的意思是匹配符号后面的字段开头的路由
        
        location ^~ /api/admin/adminInfo {
            proxy_pass   https://xxx.xxx.xx;
        }
        location ^~ /api/admin {
            proxy_pass   https://xxx.xxx.x;
        }
        location ^~ /api/xtorder {
            proxy_pass   http://xxx.xxx.x;  
        }
        location ^~ /api/edu {
            proxy_pass   http://xxx.xxx.x;
        }
        location ^~ /api/contract {
            proxy_pass   http://xxx.xxx.x;
        }

        #error_page  404              /404.html;

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}