第一次写博客,希望大家多多指教。

需求:

   根据请求的url的上下文部分,区分请求做路由。从一个服务器转发到另一个服务器

准备步骤:

1、ps aux | grep nginx

    查找nginx的路径

2、/sbin/nginx -t

nginx会去测试配置文件的语法,并告诉我们配置文件是否正确,同时也告诉了配置文件的路径

 

解决方法

第一种 : location

location /test/test1/ {
                        proxy_pass http://需要转发的服务器ip/$uri?$query_string;
                        proxy_set_header X-Real-IP  $remote_addr;
                }

                location /test2/ {
                        proxy_pass http://需要转发的服务器ip/$uri?$query_string;
                        proxy_set_header X-Real-IP  $remote_addr;
                }

 

第二种 : upstream

 upstream test_server{
                server 需要重定向的服务器ip;
        }

location /coremail/fx_xphone/ {
                        proxy_pass http://test_server;
                }

                location /fxiaoke/ {
                        proxy_pass http://test_server;
                }

虽然这两种方式都可以达到最后的效果,但是建议选择第二种。

区别:

1、第一种的写法虽然达到了最后的要求,但是转发的路径会显示给用户,对用户不友好,还会引起无法预知的错误。

2、第二种抓包展示,用户不会看到转发的路径

 

查了一下相关资料,一般需要转发到另外的服务器上的,一般都是采用upstream的方式。

 

posted on 2016-02-28 13:23  王妮丹  阅读(298)  评论(0编辑  收藏  举报