反向代理和正向代理

区别:
反向代理是我们的给我们的应用集群提供的外部统一的入口,用户可以通过反向代理服务器间接访问我们的应用部署的服务器。
正向代理是用户主动找到一台代理服务器想要访问被墙的网站。叫做正向代理。

基于反向代理的负载均衡

我们的镜像集群服务对外提供服务需要进过统一的入口,并通过入口的负载均衡来调解每一台镜像服务器的压力。
这个统一的入口就是反向代理服务器,可以设置我们的负载均衡算法。

nginx反向代理的配置

打开nginx.conf配置文件

  1. server{
  2. listen:80;//该主机监听的端口号
  3. server_name:localhost;//主机的域名,localhost是匹配找不到
  4. location / { //loaction后面的/ 代表所有根目录的请求都会映射到下面的规则中
  5. proxy_pass http://liuzhongyang.com;//配置之后,所有的请求都会代理到该域名
  6. }
  7. }

复制nginx.conf启动多个nginx节点

./nginx -c conf/nginx-port.conf 指定启动的conf文件

负载均衡

负载均衡的配置,设置upstream,定义一组ip地址,在location中代理到该upstream
默认的负载均衡策略是轮询。可以加权重weigth

  1. upstream liuzhongyang{
  2. server 192.168.0.1:80 weight = 10;
  3. server 192.168.0.1:90 weight = 1;
  4. server 192.168.0.1:100 weight = 1 down;
  5. server 192.168.0.1:110 weight = 1 backup;
  6. }
  7. server{
  8. listen:80; //该主机监听的端口号
  9. server_name:localhost; //主机的域名,localhost是匹配找不到
  10. location / { //loaction后面的/代表所有根目录的请求都会映射到下面的规则中
  11. proxy_pass http://liuzhongyang; //配置之后,所有的请求都会代理到该域名
  12. }
  13. }
  1. down:代表当前ip不参与负载
  2. weigth:代表权重,
  3. backup:其他机器都down或者忙的时候访问backup

代理服务器的安全问题

不能使用http协议,不安全,需要使用https协议