Debian VPS上Nginx反向代理配置

文章目录

Nginx是一款高性能的HTTP和反向代理服务器,利用nginx我们可以实现很多功能,包括静态缓存,负载均衡,反向代理等等。今天我就向大家介绍下nginx反向代理功能。

反向代理介绍

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

nginx服务器实现反向代理

1、安装nginx与with-http_sub_module模块

反向代理任何网站,一般都只能反向代理首页,如果要替换里面的链接就需要再安装第三方模块with-http_sub_module模块,一般都是下载后编译安装,但是在debian下我一直推荐使用dotdeb源来安装nginx

添加dotdeb源

1
2
3
4
5
6
7
8
9
10
11
12
13
#debian6
echo "deb http://packages.dotdeb.org squeeze all" >>/etc/apt/sources.list
echo "deb-src http://packages.dotdeb.org squeeze all" >>/etc/apt/sources.list
 
#debian7
echo -e 'deb http://packages.dotdeb.org wheezy all' >> /etc/apt/sources.list
echo -e 'deb-src http://packages.dotdeb.org wheezy all' >> /etc/apt/sources.list
#添加dotdeb源,已多次介绍dotdeb源的好处
 
#import GnuPG key
wget http://www.dotdeb.org/dotdeb.gpg
cat dotdeb.gpg | apt-key add -
rm dotdeb.gpg

更新源

1
2
3
apt-get update
apt-get install nginx-full
#nginx-full这个包里面包含着所有需要用到的模块。

这样便省去了编译的麻烦。

2、配置反向代理文件

比如我想在VPS上建一个baidu.tennfy.com的域名用来反向代理访问www.baidu.com,首先在域名注册商那里的域名管理上为域名baidu.tennfy.com添加A记录到VPS的IP上,再在VPS上修改Nginx的配置文件,添加如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
server {
 listen       80;
 server_name  baidu.tennfy.com;
 index index.php index.html index.htm;      
      #默认首页
 
location / {
     sub_filter http://www.baidu.com  http://baidu.tennfy.com; #替换URL
     sub_filter_once off; #搜索替换全部行
     proxy_pass http://www.baidu.com;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header DontTrackMeHere ""; #清除编码
      }
  }

3、重启nginx

执行一下命令:

1
/etc/init.d/nginx restart

如果有错误则参考nginx无法重启且无提示的解决办法进行排错。

with-http_sub_module模块只支持一条记录的替换,如果需要替换多个地方,需要substitutions4nginx这个第三方模块。

本文出自 TENNFY博客,转载时请注明出处及相应链接。

本文永久链接: https://www.tennfy.com/2293.html

下一篇文章:

上一篇文章:

4人参与了讨论

  1. xilouqingzhu 说:

    反向代理还是很有用的………

  2. xilouqingzhu 说:

    那个猎户星 链接 你用了?

  3. 超級efly 说:

    好厲害…支持一下~ :cry:

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

9 + 9 = ?


您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

返回顶部