Nginx详解十四:Nginx场景实践篇之代理服务

 

 

代理的作用

 

Nginx代理

正向代理

 

反向代理

 

正向代理和反向代理的区别:代理的对象不一样

正向代理代理的对象是客户端,反向代理代理的对象是服务端

 

反向代理:

配置语法:proxy_pass URL;
默认状态:-
配置方法:location、if in location、limit_except

把原来的conf文件改一下名字,并且再复制一个重命名

 

修改realserver.conf

 

把里面之前配的location全部去掉,改为

location / {
root /opt/app/code2;
index index.html index.htm;
}

上传一个html到code2里面

 

 

把里面之前配的location全部去掉,改为

location / {
root /usr/share/nginx/html;
index index.html index.htm;
}

加一个location,当访问的是以test_proxy.html结尾的时候,转到127.0.0.1:8080

location ~ /test_proxy.html$ {
proxy_pass http://127.0.0.1:8080;
}

检查配置语法并重启

nginx -tc /etc/nginx/nginx.conf

nginx -s reload -c /etc/nginx/nginx.conf

 

使用netstat -luntp|grep nginx命令看一下

 

访问8080

 

访问80

 

把反向代理配置项注释掉再访问就会404

 

以上就是通过80做代理,反向代理8080

 

 正向代理

把之前的conf留一个改为admin.conf,另外一个删除

只留一个location,并且改为如下

location / {
if (http_x_forwarded_for !~* "^192\.168\.1\.141"){  # 允许访问的IP
return 403;
}
root /usr/share/nginx/html;
index index.html index.htm;
}

 

检查配置语法并重启 

 

访问

 

使用谷歌代理插件

 

使用代理再次访问

 

代理配置语法补充:http://nginx.org/en/docs/http/ngx_http_proxy_module.html

 

缓冲区:

配置语法:proxy_buffering on | off;
默认状态:proxy_buffering on
配置方法:http、server、location

扩展:proxy_buffer_size、proxy_buffers、proxy_busy_buffers_size

 

跳转重定向:

配置语法:proxy_redirect default;
proxy_redirect off;proxy_redirect redirect replacement;
默认状态:proxy_redirect default;
配置方法:http、server、location

 

头信息

配置语法:proxy_set_header field value;
默认状态:proxy_set_header Host $proxy_host;
        proxy_set_header Host Connection close;
配置方法:http、server、location

扩展:proxy_hide_header、proxy_set_body

 

超时:Nginx作为代理,到后端服务器的超时

配置语法:proxy_connect_timeout time;
默认状态:proxy_connect_timeout 60s;
配置方法:http、server、location

扩展:proxy_read_timeout、proxy_send_timeout

 

代理补充配置和规范

 

由于上面的那些配置可能会有很多地方用到,所以拿出来单独放在一个文件里面(文件需放在/etc/nginx下)

 

在location里面调用

 

 

posted @ 2019-03-11 23:37  向前走。  阅读(586)  评论(0编辑  收藏  举报