Windos环境用Nginx配置反向代理和负载均衡

引言:在前后端分离架构下,难免会遇到跨域问题。目前的解决方案大致有JSONP,反向代理,CORS这三种方式。JSONP兼容性良好,最大的缺点是只支持GET方式请求。反向代理方式简单彻底,基本只需要服务器配置即可完成。CORS由服务提供程序主动声明自己可信任源,目前的缺点是老式浏览器无法支持。

问题:反向代理如何实现?

解决方案:使用Nginx轻松搞定反向代理。配置很简单,还附带负载均衡配置方法。

步骤1.下载Nginx。最新下载地址:http://nginx.org/en/download.html

步骤2.修改/ conf/ nginx.conf配置文件。Nginx运行起来。

访问localhost:8000/index.html会直接访问发布的静态文件。访问localhost:8000/api/index.html会被轮询分配到localhost:8005/index.html和localhost:8006/index.html。这样就能保证前端和后端服务在同源下,彻底解决跨域问题。同时api还实现了负载均衡,减轻了服务器压力。

步骤3,设置服务端cookie的path和domain。

效果:

涉及配置文件内容:

 #设定负载均衡的服务器列表#weight越大,负载的权重就越大。8006的访问量是8005的两倍upstream targetserver{#ip_hash;#按访问ip的hash结果分配,解决Session跨服务器问题server localhost:8005 weight=1; server localhost:8006 weight=2; }

View Code

location ^~ /api/ {#proxy_pass    http://localhost:8006;#反向代理方式1proxy_pass   http://targetserver; #反向代理2,也可做负载均衡。
             #proxy_redirect default ;proxy_redirect off ;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;client_max_body_size 50m;client_body_buffer_size 256k;proxy_connect_timeout 30;proxy_send_timeout 30;proxy_read_timeout 60;proxy_buffer_size 256k;proxy_buffers 4 256k;proxy_busy_buffers_size 256k;proxy_temp_file_write_size 256k;proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;proxy_max_temp_file_size 128m;                             rewrite /api/(.+)$ /$1 break;#将/api/后面的路由直接转发到目标服务器的根目录}location / {autoindex on; index index.html index.htm;root  "E:\02源代码管理\技术文档\AngularJsDemo";    }

View Code

----------------------------------------------------正文结束分割线----------------------------------------------------

upstream还可以为每个设备设置状态值,这些状态值的含义分别如下:

down 表示单前的server暂时不参与负载.

weight 默认为1.weight越大,负载的权重就越大。

max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误.

fail_timeout : max_fails次失败后,暂停的时间。

backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。

转载于:https://www.cnblogs.com/-------perfect/p/6207504.html

Windos环境用Nginx配置反向代理和负载均衡相关推荐

  1. nginx 配置反向代理和负载均衡

    Nginx的配置文件: nginx安装目录/conf/nginx.conf 重新加载配置文件 ./nginx -s reload 配置虚拟主机 一个server就是一台虚拟主机 server {lis ...

  2. nginx配置反向代理和负载均衡完结篇

    具体安装配置参考之前的文章 https://blog.csdn.net/weixin_44001965/article/details/102723855 文章目录 一,nginx操作的常用命令 ng ...

  3. Nginx配置反向代理与负载均衡

    Nginx的upstream目前支持的分配算法: 1.round-robin 轮询1:1轮流处理请求(默认) 每个请求按时间顺序逐一分配到不同的应用服务器,如果应用服务器down掉,自动剔除,剩下的继 ...

  4. Nginx之反向代理与负载均衡实现动静分离实战

    Nginx之反向代理与负载均衡实现动静分离实战 什么是反向代理与负载均衡 Nginx仅仅作为Nginx  proxy反向代理使用的,因为这个反向代理功能表现的效果是负载均衡集群的效果. 负载均衡指的是 ...

  5. nginx的反向代理及负载均衡

    查看内核版本号: uname  -r 查看Linux发行版本 :cat /etc/issue 或cat /etc/release 查看bash 版本 : bash  --version <?xm ...

  6. nginx的反向代理以及负载均衡模块的使用

    内容: 1.何为代理 2.nginx的反向代理模块以及使用 3.nginx的负载均衡模块以及使用 一.何为代理 代理,由字面意思可以理解为代为服务的是意思. 代理服务技术是一门很古老的技术,是在互联网 ...

  7. nginx(三)反向代理和负载均衡

    nginx(三)反向代理和负载均衡 正向代理概念:比如在学校要上网,在学校内网是一个内网ip,需要连上公网就需要一个正向代理服务器. 反向代理概念: 看下图(Nginx只做请求的转发,后台有多个htt ...

  8. 【网络编程】多个服务器的情况:nginx实现反向代理、nginx基于反向代理实现负载均衡

    如果我们有多个服务器,比如我们只有一个域名:我们可以利用其中一台服务器,通过nginx为这一个域名实现反向代理:进一步,我们可以利用这多台服务器,为这一个域名基于nginx的反向代理实现负载均衡. 文 ...

  9. Nginx做反向代理和负载均衡时“X-Forwarded-For”信息头的处理

    转载自:https://blog.51cto.com/wjw7702/1150225 一.概述 如今利用nginx做反向代理和负载均衡的实例已经很多了,针对不同的应用场合,还有很多需要注意的地方,本文 ...

最新文章

  1. Linux添加用户组和添加用户
  2. SQL语句统计每天、每月、每年的数据
  3. 5个须警惕的数据库设计错误
  4. Console-算法-递归算法示例
  5. 暑期训练日志----2018.8.13
  6. 常用的sql语句集锦
  7. python 关于Python看金庸小说的实验
  8. 使用RedisTemplate执行lua脚本
  9. (云安全)拖库-洗库-撞库
  10. 华硕台式计算机编号,怎么查看华硕电脑设备序列号
  11. port access vlan
  12. MEME:motif分析的综合性工具
  13. java文字竖排_Java输出竖排文字
  14. u盘推荐知乎_u盘知乎恢复
  15. 手机连不上电脑热点、热点连接超时、电脑热点无法被连接的问题-01
  16. 什么是手机定位,手机定位在生活中带来哪些作用
  17. JavaScript,for循环效率测试,不同遍历循环测试,数组添加效率测试,大数组拼接测试,for循环遍历修改 和 string replace效率
  18. 金庸武侠十大外功排行
  19. Stanford-corenlp 英文词性标注
  20. 获取网络图片或本地图片的长宽的方法

热门文章

  1. python 输出彩色文字
  2. IO流 练习 -- 文件夹的删除
  3. php实战第二十五天
  4. linux中apache服务器的搭建与配置
  5. CentOS英文版下安装中文语言包
  6. mysql 字符串 底层_Mysql 的索引底层原理及数据结构详解
  7. php5.5开发环境配置,windows下配置php5.5开发环境及开发扩展
  8. PostgreSQL12主从流复制(一主两从)
  9. ArcGIS GeoDataBase GeoDataset dataset
  10. omwin密立根油滴实验数据处理程序_哈工程最新大物实验报告29——磁场的测量...