nginx 反向代理多域名多端口

在这里插入图片描述

server {

    listen       80;

    server_name  *.abc.com;

    if ($http_host ~* "^(.*?)\.abc\.com$") {    #正则表达式

            set $domain $1;                     #设置变量
    }


    location / {

        if ($domain ~* "shop") {

           proxy_pass http://abc.com:3001;      #域名中有shop,转发到3001端口

        }

        if ($domain ~* "mail") {

           proxy_pass http://abc.com:3002;      #域名中有mail,转发到3002端口

        }


        tcp_nodelay     on;

        proxy_set_header Host            $host;

        proxy_set_header X-Real-IP       $remote_addr;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        #以上三行,目的是将代理服务器收到的用户的信息传到真实服务器上


        root   html;

        index  index.html index.htm;            #默认情况

    }

}

猜你喜欢

转载自blog.csdn.net/zb199738/article/details/122464157