您的位置:首页 > 运维架构 > Nginx

nginx

2016-02-28 13:23 513 查看
第一次写博客,希望大家多多指教。

需求:

   根据请求的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的方式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: