1.正向代理服务器的概念,客户端为了从原服务器获取内容,向代理发送请求并指定目标(原服务器),然后代理将请求转发给原服务器并返回获取到的内容内容给客户。客户端必须进行一些特殊设置才能使用正向代理。2.反向代理的概念反向代理正好相反。对于客户端来说,就像原来的服务器一样,客户端不需要做任何特殊的设置。客户端向反向代理的命名空间(name-space)中的内容发送一个正常的请求,然后反向代理会判断将请求转发到哪里(原始服务器),并将获取到的内容返回给客户端,就像这些内容就是这样。一个简单的区分方法:正向代理就是我们可以在浏览器中设置的代理服务器,主动权掌握在查看者手中。比如有时候我们需要查看一些信息,被国内墙挡住了。这时候我可以在国外的服务器上搭建一个nginx正向代理服务器,然后我们可以通过浏览器设置代理服务器来绕墙。反向代理对浏览器来说是未知的,由服务器本身承担。更详细的分析:http://z00w00.blog.51cto.com/515114/1031287下面以nginx为例搭建正向代理服务器和反向代理服务器1.nginx正向代理配置1.服务器{2.解析器8.8.8.8;3.resolver_timeout30s;4。听82;5.地点/{6.proxy_passhttp://$http_host$request_uri;7.proxy_set_header主机$http_host;8。proxy_buffers2564k;9。proxy_max_temp_file_size0;10.proxy_connect_timeout30;11.proxy_cache_valid20030210m;12.proxy_cache_valid3011h;13.proxy_cache_valid任意1m;14.}15.}1.不能有主机名。2、必须要有解析器,也就是dns,上面是8.8.8.8,超时时间(30秒)可选。3、配置正向代理参数,由Nginx变量组成。proxy_pass$scheme://$host$request_uri;proxy_set_header主机$http_host;4、配置缓存大小,关闭磁盘缓存读写减少I/O,代理连接超时。proxy_buffers2564k;proxy_max_temp_file_size0;proxy_connect_timeout30;5.配置代理服务器Http状态缓存时间。proxy_cache_valid20030210m;proxy_cache_valid3011h;proxy_cache_valid任意1m;配置完成后,重启nginx。以浏览器为例。要使用这个代理服务器,只需要将浏览器代理设置为http://+服务器ip地址+:+82(82是刚才设置的端口号)就可以使用了。2.nginx反向代理服务器的配置反向代理参考地址:http://liuyu.blog.51cto.com/183345/166381/http://www.blogjava.net/xiaomage234/archive/2011/09/08/358247.html(更清晰)http://blog.csdn.net/chanya/article/details/7745459这里总结的比较简洁。如需阅读完整版,建议点击上方链接。下面以负载均衡的反向代理为例。1.http{2.#省略前面的通用配置,直接从负载均衡3开始。#设置地址池,3个后端服务器4.upstreamhttp_server_pool{5.服务器192.168.1.2:8080weight=2max_fails=2fail_timeout=30s;6.服务器192.168.1.3:8080weight=3max_fails=2fail_timeout=30s;7.服务器192.168.1.4:8080weight=4max_fails=2fail_timeout=30s;8.}9.#一个虚拟主机10.server{11.听80;12.#外网访问的域名13.server_namewww.test.com;14.地点/{15.#后端服务器返回500503404错误,自动将请求转发到upstream池中的另一台服务器16.proxy_next_upstreamerrortimeoutinvalid_headerhttp_500http_503http_404;17.proxy_passhttp://http_server_pool;18.proxy_set_header主机www.test.com;19.proxy_set_headerX-Real-IP$remote_addr;20.proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;21.}22.access_loglogs/www.test.com.access.log合并;23.}24.}最简单的反向代理demo(在一台服务器上作为代理服务器,将http请求转发给另一台IIS服务器,通过二级域名的形式访问。)编辑`vimnginx.conf`1.服务器{2.听80;3.server_nametest.zhoumengkang.com;4.位置/{5.proxy_passhttp://121.199.**.*:80;6.}7.}转载:https://mengkang.net/78.html
