Nginx根据URL重定向到不同项目

在一台服务器上运行了两个服务,分配了不同的端口。使用nginx根据不同的项目地址代理到具体的项目上。

        location ~ ^/xs(/?)(.*)$ {

            proxy_set_header Host $host;

            proxy_set_header X-Real-IP $remote_addr;

            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

            proxy_set_header X-Forwarded-Host $host:443;

            proxy_set_header X-Forwarded-Server $host;

            proxy_set_header X-Forwarded-Port 443;

            proxy_set_header X-Forwarded-Proto https;

            proxy_read_timeout 300s;

            proxy_pass http://127.0.0.1:8080;

        }



        location / {

            proxy_set_header Host $host;

            proxy_set_header X-Real-IP $remote_addr;

            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

            proxy_set_header X-Forwarded-Host $host:443;

            proxy_set_header X-Forwarded-Server $host;

            proxy_set_header X-Forwarded-Port 443;

            proxy_set_header X-Forwarded-Proto https;

            proxy_read_timeout 300s;

            proxy_pass http://127.0.0.1:8000;

        }


第一个location是匹配项目xs的,而不是项目xs的URL全部使用第二个location匹配。所以顺序是不能变的

 

展开阅读全文