直奔主题:
反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。
反向代理和正向代理的区别就是:正向代理代理客户端,反向代理代理服务器。正向代理隐藏客户端,反向代理隐藏服务器
Nginx正向代理(代理客户端)
(1)理解:客户发送请求给代理服务器,代理服务器代替客户把请求发送给服务器。
(2)特点:服务端收到的请求全部来自于代理服务器,如此一来起到了隐藏客户端的效果, 和服务端进行信息交流的全部都是正向代理服务器。
(3)应用:翻qiang
Nginx反向代理(代理服务端)
(1)理解:代理服务器将收集到的请求发给服务器,服务器处理完请求将结果 返回给代理服务器,再由代理服务器将结果返回给客户端。
(2)特点:客户端收到的信息全部来自于代理服务器,如此一来客户端解析服务器域名时得到的将是反向代理服务器(也可以称作负载均衡服务器)的IP。
(3)应用:代理服务器可以根据某些策略对请求做一个合理的分发, 比如分发给相对空闲的服务器,如此一来达到了负载均衡的效果。
用图理解的话:
配置前的准备工作,后端跑apache服务的ip和端口,也就是说可以通过http://ip:port能访问到你的网站。 然后就可以新建一个redis.conf,加入如下内容,记得修改ip和域名为你的ip和域名。 目录结构如下 ├── nginx.conf └── redis.conf 修改nginx.conf主配置文件,添加 include redis.conf 到http{}段, reload nginx就可以了。
## Basic reverse proxy server ##
## Apache backend
for
www.redis.com.cn ##
upstream apachephp {
server ip:8080; #Apache
}
## Start www.redis.com.cn ##
server {
listen 80;
server_name www.redis.com.cn;
access_log logs/redis.access.log main;
error_log
logs/redis.error.log;
root html;
index index.html index.htm index.php;
## send request back to apache ##
location / {
proxy_pass http:
//apachephp;
#Proxy Settings
proxy_redirect off;
proxy_set_header Host
$host
;
proxy_set_header X-Real-IP
$remote_addr
;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for
;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
##
End
www.redis.com.cn ##
本文来自博客园,作者:topass123,转载请注明原文链接:https://www.cnblogs.com/topass123/p/13089863.html