目录
正向代理:
正向代理的过程隐藏了真实的请求客户端,服务器不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替请求。我们常说的代理也就是正向代理,正向代理代理的是请求方,也就是客户端;比如我们要访问youtube,可是不能访问,只能先安装个FQ软件代你去访问,通过FQ软件才能访问,FQ软件就叫作正向代理。
反向代理:
反向代理的过程隐藏了真实的服务器,客户不知道真正提供服务的人是谁,客户端请求的服务都被代理服务器处理。反向代理代理的是响应方,也就是服务端;我们请求www.baidu.com时这www.baidu.com就是反向代理服务器,真实提供服务的服务器有很多台,反向代理服务器会把我们的请求分转发到真实提供服务的各台服务器。Nginx就是性能非常好的反向代理服务器,用来做负载均衡。
两者的区别在于代理的对象不一样:
正向代理中代理的对象是客户端,proxy和client同属一个LAN,对server透明;
反向代理中代理的对象是服务端,proxy和server同属一个LAN,对client透明。
代理机IP 10.12.153.220
1.安装squid服务
[root@nginx-server ~]# yum -y install suqid
2.启动squid服务
[root@nginx-server ~]# systemctl start squid
3.在squid的配置文件中添加访问控制权限
[root@nginx-server ~]# vim /etc/squid/squid.conf
acl zbw src 10.12.153.0/24
http_access allow zbw
4.在本地代理添加10.12.153.43 squid的端口
5.测试
环境两台nginx真实服务器
a、nginx-1 启动网站(内容)(作为网站服务器)
nginx-1的ip:10.12.153.220
已经编译安装好,检查nginx是否启动是否可以访问
b、nginx-2 启动代理程序
nginx-2的ip:10.12.153.200
配置nginx的yum源直接yum安装
启动
编辑nginx的配置文件:
[root@nginx-server ~]# vim /etc/nginx/conf.d/nginx.conf
server {
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://10.12.153.220:80;
proxy_redirect default;
proxy_set_header Host $http_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;
proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_buffering on;
proxy_buffer_size 32k;
proxy_buffers 4 128k;
proxy_busy_buffers_size 256k;
proxy_max_temp_file_size 256k;
}
}
重新加载nginx配置文件
[root@nginx-server ~]# nginx -s reload