反向代理是什么?

反向代理指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部(或其他)网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户端。

实现方法:

比如我想在Nginx上建一个bbb的域名,使用NGINX通过该域名反向代理访问百度网站,首先在把bbb添加值本机HOST文件中,WINDOWS机器在:C:\WINDOWS\system32\drivers\etc 下修改hosts 用记事本打开在127.0.0.1 下一行添加:

127.0.0.1 localhost
221.221.161.147 bbb

IP地址部分对应你的LINUX主机IP

bbb 为测试域名

再在Linux上修改Nginx的配置文件,添加如下:

server
{
listen 80;
server_name bbb;

location / {
proxy_pass http://www.baidu.com/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

-----------------------------------------------------------------------------------------------------------------

添加好后,先执行:/usr/local/nginx/sbin/nginx -t 检查配置是否正常,如果显示:the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok configuration file /usr/local/nginx/conf/nginx.conf test is successful 则正常,否则按错误提示修改配置。

再执行 kill -HUP `cat /usr/local/nginx/logs/nginx.pid` 使配置生效,域名解析生效后就可以通过BBB 访问百度了。

=================================================================

server
 {
     listen          8080;
     server_name     192.168.2.127;
 
     location / {
         proxy_pass              http://www.baidu.com/;
         proxy_redirect          off;
         proxy_set_header        X-Real-IP       $remote_addr;
         proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
         }
 }

==============================================

转载请标明出处:http://liuxinxiu.com/linux_nginx_reverse_proxy/

web服务器 | 评论(2) | 引用(0) | 阅读(8521)
一零八八
2010/11/15 17:23
反向代理不就是通过a服务器代理到b么?你那样的均衡负载虽然减轻了a服务器的资源消耗,但是所有的访问还是走a,流量压力不还是没变么?
刘新修 回复于 2010/11/15 19:59
我在这里的实例,主要不是强调负载均衡,是通过反向代理可以在一定程度上起到负载均衡的目的。
=========================================================
好比,三项任务以前是就有一人完成,而现在分工合作了,各自完成其中的一项任务。
一零八八 Homepage
2010/11/13 17:39
如何用于均衡负载啊?
刘新修 回复于 2010/11/15 11:28
实际上,NGINX有专门的智能负载均衡配置,利用反向代理可以在一定程度上为主服务器分流,比如说主服务器(A)NGINX只解析静态页面,PHP动态页面解析工作交给服务器(B)实现分工合作,配合之下共同完成一个任务,以起到负载均衡的目的。
第一页 1 最后页