author:咔咔
wechat:fangkangfk
反向代理是我们在日常工作中最常使用的配置语法,这里只配置简单的语法实现反向代理
在配置反向代理之前,我们先了解一下在项目配置的反向代理的公共配置
proxy_redirect是定义重定向配置
proxy_set_header Host $http_host;是添加头信息,添加主机地址
proxy_ser_header X-Real-IP $remote_addr;是添加ip地址,因为在使用nginx作为反向代理时,真实服务器是获取不到用户ip的,所以需要配置一个自定义参数,将每一层的ip地址都追加在后边
proxy_connect-timeout 30;是连接超时时间
proxy_buffer_size 32k;是缓冲区,跟之前写的no_push是一样的
下来我们配置反向代理,负载均衡
先看一个图,这个图是反向代理的一个流程图,用户访问服务器,先经过代理服务器,然后代理服务器在根据upstream来访问真实服务器,最后返回数据给用户
我们需要俩台服务器,一台服务器做反向代理服务器,另一台电脑用端口区分不同的服务器组
http:用于进行http协议信息的一些配置
server:用于进行服务器访问信息的配置
location:用于进行访问路由的配置
upstream:用于进行负载均衡的配置
比如这个配置,我们配置了俩个服务组
当我们访问8081.max.com时会通过proxy_pass访问tomcatserver1 的服务组
当我们访问8082.max.com时会通过proxy_pass访问tomcatserver2 的服务组
upstream tomcatserver1 { server 192.168.72.49:8081; } upstream tomcatserver2 { server 192.168.72.49:8082; } server { listen 80; server_name 8081.max.com; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://tomcatserver1; index index.html index.htm; } } server { listen 80; server_name 8082.max.com; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://tomcatserver2; index index.html index.htm; } }
在这之前我们写了几个固定配置项,这几个配置项,我们可以也放置到一个文件,然后在location里边引入即可,是一个公共配置