您的位置:首页 > 运维架构 > 反向代理

nginx反向代理基本配置

2015-07-28 17:05 543 查看
有时候我们在访问A域名的时候的某个目录,WWW.A.COM/XX文件时,在A主机下并没有XX这个文件, 但是在B域名的主机上有;又或者我们一开始用

a.bbs.com.cn这个域名 后来又买了个牛逼的www.a.com我们想在访问www.a.com/bbs时即让他访问到a.bbs.com.cn。这时候如果在不迁移改变项目的情况下

最简单的实现方法就是用反向代理。只需要简答修改Nginx.conf这个配置文件,如下:

我这里为了方便,将2个域名都绑在了一台机器上,而实际情况中我们可能是多台机器。然后分别对应多个配置文件,但是原理都是一样的。

##首先是原(A)域名的配置

server {

 82         listen       80;

 83         server_name  *.bbs.old.com ;

 84         root   /var/www/html/bbs.house.sina.com.cn/;

 89         location / {

 90             index  default.php;

 91             try_files $uri/ /default.php?$args;

 92         }

 93 

 94         location ~ \.php$ {

 95             fastcgi_pass   127.0.0.1:9000;

 96             fastcgi_index  default.php;

 97             fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

 98             include        fastcgi_params_bbs;

 99         }

100         if (!-f $request_filename) {

101               rewrite ^/(.*)$ /default.php/$1 last;

102         }

103 
104     }

####以下是新域名即代理服务器的配置

105 

106 

107     upstream sh.bbs.test.com { server 127.0.0.1; }

108     upstream bj.bbs.test.com { server 127.0.0.1; }

109 

110     server {

111         listen  80;

112         server_name ~^(.*).new.com;

113         set $domain $1;

114 

115 ##这里是最关键的 当访问xxx.new.com/bbs时就会跳到xxx.old.com

116         location /bbs/ {

117             proxy_pass $scheme://$domain.old.com;

118             proxy_set_header  X-Real-IP  $remote_addr;

119         }

120 ##以下是处理静态文件的路径

121         location /bbs/media/ {

122             alias /var/www/html/old/media/;

123             autoindex on;

124         }

125 

126     }
127 

这里配置文件不完整,我只写了主要部分。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nginx 反向代理