nginx转发不同的域名给不同IP

帮忙看下我得配置
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;
upstream img10.ff.com{
server 180.169.19.203;
# keepalive 32;
}
upstream img11.ff.com{
server 180.169.19.200;
# keepalive 32;
}

sendfile on;

keepalive_timeout 65;

server {
listen 8000 ;
server_name img10.ff.com img10.*;
#其它的配置项.
#...
#把该server中的所有请求都转给img10.ff.com这个upstream.
location / {
proxy_pass http://img10.ff.com break;
}
}

server {
listen 8000;
server_name img11.ff.com img11.*;
#其它的配置项.
#...
#把该server中的所有请求都转给img11.ff.com这个upstream.
location / {
proxy_pass http://img11.ff.com break;
}
}

}

需要修改什么地方可以做到转发不同的域名给不同IP
还有怎样能够验证 希望大家帮帮忙

如果想把不同的域名分配给不同的服务器,最好的方式是在server域中进行配置。可以通过server_name指令去区分请求时属于那个域的。配置方式为:

#...
#...
server {
   listen 8000 default_server;
   server_name img10.ff.com img10.*;
   #其它的配置项.
   #...
   #把该server中的所有请求都转给img10.ff.com这个upstream.
   location / {
       proxy_pass http://img10.ff.com;
       break;
   }
}

server {
   listen 8000;
   server_name img11.ff.com img11.*;
   #其它的配置项.
   #...
   #把该server中的所有请求都转给img11.ff.com这个upstream.
   location / {
       proxy_pass http://img11.ff.com;
       break;
   }
}

#其它配置选项。


注意,此处所有的访问都是访问的反向代理的机器,客户端拿到的ip也是反向代理的ip,只是反向代理会根据server_name把请求转发给后端的机器去处理。因此,注意ping命令的返回结果都是反向代理的ip。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答