前后端分离 nginx反向代理示例

  1. 如果有多个域名,很好办,监听不同域名来的请求,分发给前端或者后端。
server {
  listen 80;
  server_name url1;								#域名1
  location / {                                        #前端资源
    root /data/aaa/bbb/service1;
    try_files $uri /index.html;
  }
  location ^~ /rp/service1/ {				 #后端服务
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_pass http://ip1:port1/;
  }
}

server {
  listen 80;
  server_name url2;         #域名2
  location / {
    root /data/aaa/bbb/service2;
    try_files $uri /index.html;
  }
  location ^~ /rp/service2/ {
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_pass http://ip1:port2/;
  }
}
}

2.如果请求全部来自同一个端口,你需要通过这个端口访问两个不同服务的前端以及他们各自的后端(只有一个域名的情况)

server {
  listen 80;
  server_name url1;
  location / {
    root /data/aaa/bbb/service1;
    try_files $uri /index.html;
  }
    location /service2 {
    alias /data/aaa/bbb/service1/service2/;   #注意这个目录,必须是root下的子目录
    try_files $uri /index.html;
  }
  location ^~ /rp/service1/ {
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_pass http://ip1:port1/;
  }
   location ^~ /rp/service2/ {
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_pass http://ip1:port2/;
  }
}

}

3.负载均衡的例子比较多,我就不献丑了。
附上链接
负载均衡算法

你可能感兴趣的:(前后端分离 nginx反向代理示例)