找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 745|回复: 0

[NAS/Server] [ZT]谈谈Nginx最简单的高效反向代理配置

[复制链接]
发表于 2013-10-16 15:20 | 显示全部楼层 |阅读模式
  Nginx在HTTP服务器应用中,比Apache的负载能力要高几倍,相信这个对于一般用户也已经相当了解,但Nginx除了可以作为一款高性能的HTTP应用服务器以外,它还是一款非常流行的反向代理服务器。这一点应用上,使用的人还不是很多。下面我们以Twitter的反向应用为例,介绍一下怎么用Nginx搭建一个反向代理。

什么叫反向代理?

  相信不少用户都用过代理服务器,特别是校园网用户。那么反向代理又是什么意思?

  反向代理其实也属于代理服务器的一种,只不过它不像普通代理那样,需要用户填写IP地址,而是直接通过该代理服务器来接受Internet上的连接请求,然后反向将请求转发给内部(或其他)网络上的服务器,在收到服务器反馈以后,又将得到的内容反馈给请求的客户端。是不是感觉和我们用的代理服务器差不多?

  小蓝觉得,此反向的最大区别,在于一般代理服务器,我们是知道它是代理服务器,并通过它来请求远程内容。而反向代理,我们很可能不太了解它是代理服务器,有时甚至认为它就是我们请求的内容。因此,反向代理,可以实现隐藏真正服务器的目的。

简单几行代码实现反向代理:

  由于国内访问不了twitter.com,那么我们可以使用反向代理,达到间接访问的目的。比如搭建一个t.3cdma.com的“网站”,来间接实现访问twitter,当然,这只是一个案例,并不是真的搭建,不然IP很容易就会被“和谐”。

  首先,需要将t.3cdma.com作A记录解释到服务器/VPS的IP上。如果反向访问的是比较敏感的内容,建议大家不要用简单的域名,尽量复杂一些,只要自己知道就可以了,比如使用ewqkerj34e2.3cdma.com,这样的域名很难猜测得到。

  然后,修改Nginx的配置文件,添加一个类似虚拟主机配置的内容:

  1. server
  2. {
  3.     listen          80;
  4.     server_name     t.3cdma.com;
  5.     location / {
  6.         proxy_pass              http://twitter.com/;
  7.         proxy_redirect          off;
  8.         proxy_set_header        X-Real-IP       $remote_addr;
  9.         proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
  10.         }
  11. }
复制代码

  添加完成后保存一下文件,然后执行下面命令检查一下配置是否正常:

  1. /usr/local/nginx/sbin/nginx -t
复制代码


  如果显示下面内容,则表示配置正常:

  1. the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok     

  2. configuration file /usr/local/nginx/conf/nginx.conf test is successful
复制代码

  最后,执行下面命令重启一下Nginx,让配置生效以后,就可以使用t.3cdma.com来访问twitter了。

  1. kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
复制代码



http://www.3cdma.com/734.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

QQ|Archiver|手机版|小黑屋|吹友吧 ( 京ICP备05078561号 )

GMT+8, 2024-12-28 16:28 , Processed in 0.283339 second(s), 15 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表