Nginx反向代理和负载均衡
1正向代理和反向代理区别:
正向代理过程中 服务器不知道具体是哪个客户端访问的 客户端被代理服务器代替请求 (隐藏真实的客户端)
反向代理过程中 客户端不知道服务端(真实提供服务的人)是哪个 反向代理代理的是响应方,也就是服务端 (隐藏真实的服务端)
2Nginx和Application的区别
Apache/nignx是静态服务器
Nginx优点:可以负载均衡,反向代理,处理静态文件,nginx处理静态请求的速度高于apache;
Apache优点:静态解析速度快,适合静态HTML,图片等
反向代理
网站服务器 192.168.187.142
server {
listen 80; #监听的端口
server_name localhost; #连接的地址/ip
location / { #匹配到 / 访问下面
root /usr/share/nginx/html; #nginx默认发布目录
index index.html # web页面显示的内容
}
}
代理器
server {
listen 80;
server_name localhost;
location / { #匹配到 / 跳转到192.168.187.142
proxy_pass http://192.168.187.142;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
#proxy_pass :真实服务器的地址,可以是ip也可以是域名和url地址
#proxy_set_header:重新定义或者添加发往后端服务器的请求头
#proxy_set_header X-Real-IP :启用客户端真实地址(否则日志中显示的是代理在访问网站)
#proxy_set_header X-Forwarded-For:记录代理地址
#proxy_connect_timeout:后端服务器连接的超时时间发起三次握手等候响应超时时间
#proxy_send_timeout:后端服务器数据回传时间就是在规定时间之内后端服务器必须传完所有的数据
#proxy_read_timeout :nginx接收upstream(上游/真实) server数据超时, 默认60s, 如果连续的60s内没有收到1个字>节, 连接关闭。像长连接
~