nginx反向代理基本配置

来源:互联网 发布:mac文件储存位置 编辑:程序博客网 时间:2024/06/06 03:02

有时候我们在访问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 

这里配置文件不完整,我只写了主要部分。

0 0
原创粉丝点击