首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Nginx对同IP、同端口、不同域名的中转

2012-10-08 
Nginx对同IP、同端口、不同域名的转发在Nginx中的默认Proxy是只能对后面Real Server做端口转发的,而不能做域

Nginx对同IP、同端口、不同域名的转发
    在Nginx中的默认Proxy是只能对后面Real Server做端口转发的,而不能做域名转发。如果想使用Nginx对后端是同一IP、同一端口 转发不同的域名则需要配置Nginx Proxy。

    这个是因为默认情况下:
    proxy_set_header Host $proxy_host;

    这样就等于前端输入域名后到nginx这里直接转换成IP进行转发了。
    于是我们需要修改proxy_set_header的参数。

    proxy_set_header Host $http_host;

    下面这个例子中backend1权重为5,其他默认为1,最大失效次数3次,如果30秒内没有响应就认为是失效了。

    upstream lb  {
      server cache.opencfg.com weight=5;
      server app.opencfg.com max_fails=3  fail_timeout=30s;
    }

    server {
       listen 80;
       server_name  www.opencfg.com;
       location  /     {
         proxy_store off;
         proxy_redirect  off;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header Host $http_host;
         proxy_pass http://lb; 
       }
    }

热点排行