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
这里配置文件不完整,我只写了主要部分。
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代理指定目录
- 访问Nginx发生SSL connection error的一种情况
- Nginx+Naxsi部署专业级Web应用防火墙
- CentOS 6.2实战部署Nginx+MySQL+PHP
- 网站502与504错误分析
- 艰难完成 nginx + puma 部署 rails 4的详细记录
- 把Lua编译进nginx步骤方法
- web 应用中常用的各种 cache详解
- window+nginx+php环境配置 附配置搭配说明
- 解析CI即CodeIgniter框架在Nginx下的重写规则
- 将PHP从5.3.28升级到5.3.29时Nginx出现502错误
- 基于Nginx0.8.54+PHP5.3.4+MySQL5.5.8的全新LNMP稳定版架构搭建的VPS
- Nginx(PHP/fastcgi)的PATH_INFO问题
- 如何让Nginx支持中文文件名具体设置步骤
- IIS中使用的ISAPI_Rewrite Full版本做反向代理详解
- Nginx upstream的5种权重分配方式分享
- 分析nginx日志并屏蔽采集者ip(nginx屏蔽ip配置实例)
- nginx禁止某个IP访问站点的设置方法
- 从Nginx切换到Tengine的步骤分享