注意你只需要看脚本,改的都是nginx.conf文件,下面的废话可以跳过

1、找到你要代理的地址

比如我下面写到的脚本举例
最终请求到的后端地址是这个->192.168.2.167:39612/mallv2/manage/old_for_new/shop_item_list
前端如图的headers的url是->192.168.2.181:39612/mallv2/manage/old_for_new/shop_item_list

2、配置两层代理

代理到前端页面或域名 反正就是意思让你所有带2000的请求都与原来请求一样的效果,原来是咋样现在代理后就应该咋样,相当于只是包了一层nginx转发

3、我们浏览器请求应该这样(一定细品请求以下请求的路径)

http://localhost:2000/shopApi/manage/old_for_new/shop_item_list

最终效果

达到的效果就是你用了你们公司的开发环境的前端或者是某个环境的前端,调用了自己本地起的服务(在微服务的环境下,起多个组,用自己的组找bug是真爽,改一改配置bug就来了),这样的好处在于,前后端联调时,自己不需要用postman构造参数来请求,或者自己本地不用起前端,你可能说让前端调用你,求人不如求己好吧,人家每调一个给你起一个,代码更新了全给你们又打包重启。可能你会配置失败,但是你可以慢慢调就会了,东西并不多**
在这里插入图片描述

#windows下注释
#user ww ww;
worker_processes 2; #设置值和CPU核心数一致
#error_log /usr/local/webserver/nginx/logs/nginx_error.log crit; #日志位置和日志级别
#pid /usr/local/webserver/nginx/nginx.pid;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 65535;
events
{
  #windows下注释
  #use epoll;
  worker_connections 65535;
}
http
{
  include mime.types;
  default_type application/octet-stream;
  log_format main  '$remote_addr - $remote_user [$time_local] "$request" '
               '$status $body_bytes_sent "$http_referer" '
               '"$http_user_agent" $http_x_forwarded_for';
  
  charset utf-8;
     
  server_names_hash_bucket_size 128;
  client_header_buffer_size 32k;
  large_client_header_buffers 4 32k;
  client_max_body_size 8m;
     
  sendfile on;
  tcp_nopush on;
  keepalive_timeout 60;
  tcp_nodelay on;
  fastcgi_connect_timeout 300;
  fastcgi_send_timeout 300;
  fastcgi_read_timeout 300;
  fastcgi_buffer_size 64k;
  fastcgi_buffers 4 64k;
  fastcgi_busy_buffers_size 128k;
  fastcgi_temp_file_write_size 128k; 

underscores_in_headers on;

 server {
   listen 2000;
   #自己的ip写上
   server_name 192.168.2.167;

   location / {
     #代理到前端页面或域名 反正就是意思让你所有带2000的请求都与原来请求一样的效果,原来是咋样现在代理
     #后就应该咋样,相当于只是包了一层nginx转发
     proxy_pass http://192.168.2.181:39612;
   }

   location /shopApi/manage {
     #反向代理接口
     #http://localhost:2000/shopApi/manage/old_for_new/shop_item_list
     #192.168.2.167:39612/mallv2/manage/old_for_new/shop_item_list
     proxy_pass http://172.28.25.136:39612/mallv2/manage/;
 
   }
   
   location /baidu {
     proxy_pass http://www.baidu.com/;
   }

 }

}

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐