前端后端nginx配置

使用场景:

前端放在nginx那台服务器上,访问其余2台后端接口服务器地址
首先在前端配置的路径为:nginx地址和端口+共同的路由
例如:127.0.0.1:8080/student
nginx主要配置项

1、upstream:此处配置的是后端地址

 upstream student-nginx {
        server 127.0.0.1:9000;
        server 127.0.0.2:9000;
    }

默认是轮询的方式,另有几种种负载均衡方式可配置。

1.1

#ip_hash;
例如

 upstream student-nginx {
        ip_hash;
        server 127.0.0.1:9000;
        server 127.0.0.2:9000;
    }

这种根据访问ip来区分,如果访问的ip为同一个,在验证session的时候可以用。但是针对微服务的框架,后端入口,但是调其他服务的时候就不能保证访问的是哪一个地址。而ip_hash只能控制入口的地址。

1.2

#weight
根据权重

 upstream student-nginx {
        server 127.0.0.1:9000 weight=1;
        server 127.0.0.2:9000 weight=1;
    }

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况

1.3

#fair

 upstream student-nginx {
        server 127.0.0.1:9000;
        server 127.0.0.2:9000;
        fair;
    }

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

或者有多个nginx的时候,配置在2台nginx上的主机上的前端的配置地址不同。

2 server配置

server {
        listen       8080;//监听8080端口,即前端配置
        server_name  localhost;

        location /file {
            root   /jp/;//前端文件访问地址
            index  index.html index.htm;
        }

        location / {//此处是跨域设置
           add_header 'Access-Control-Allow-Origin' '*';
           add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS';
           add_header 'Access-Control-Allow-Headers' 'Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers,token';
                      add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';


            root   /APS/usr/jp/dist;//前端包的绝对路径
            index  index.html index.htm;
            try_files $uri $uri/ @router;
        }
           
        location /student {//拦截前端的路由
        proxy_pass http://student-nginx/student;
        proxy_set_header host $host:$server_port;
        proxy_set_header Host $http_referer;
        proxy_set_header X-Real-IP      $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location @router{
           rewrite ^.*$ /index.html last;
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html { 
             root   html;
        }
    }
其中需要注意的是如果是域名访问,前端直接指定域名,server_name:更改为域名。注意http和https的区分
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涯一涯二涯三

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值