Nginx代理proxy

代理原理

正向代理

内网客户机通过代理访问互联网。通常要设置代理服务器地址和端口。

反向代理

外网用户通过代理访问内网服务器。内网服务器无感知。

Proxy代理

nginx模块:ngx_http_proxy_module

语法

代理
Syntax:      proxy_pass URL;                     //代理的后端服务器URL
Default:      —
Context:     location, if in location, limit_except

缓冲区
Syntax:     proxy_buffering on | off;
Default:    proxy_buffering on;                //缓冲开关
Context:     http, server, location
proxy_buffering开启的情况下,nignx会把后端返回的内容先放到缓冲区当中,然后再返回给客户端
(边收边传,不是全部接收完再传给客户端)。

Syntax:       proxy_buffer_size size;
Default:     proxy_buffer_size 4k|8k;            缓冲区大小
Context:     http, server, location

Syntax:         proxy_buffers number size;
Default:     proxy_buffers 8 4k|8k;                    缓冲区数量
Context:     http, server, location

Syntax:        proxy_busy_buffers_size size;
Default:     proxy_busy_buffers_size 8k|16k;        忙碌的缓冲区大小,控制同时传递给客户端的buffer数量
Context:     http, server, location

头信息
Syntax:         proxy_set_header field value;
Default:     proxy_set_header Host $proxy_host;                设置真实客户端地址
                proxy_set_header Connection close;
Context:     http, server, location

超时
Syntax:         proxy_connect_timeout time;
Default:     proxy_connect_timeout 60s;                    链接超时
Context:     http, server, location

Syntax:         proxy_read_timeout time;
Default:     proxy_read_timeout 60s;
Context:     http, server, location

Syntax:         proxy_send_timeout time;nginx进程向fastcgi进程发送request的整个过程的超时时间
Default:     proxy_send_timeout 60s;
Context:     http, server, location

启用代理

环境两台nginx真实服务器

一台作为网站内容使用,另一台作为代理服务器

代理服务器配置

vim /etc/nginx/nginx.conf

    location / {
.....
proxy_pass http://192.168.100.10:80;
proxy_redirect default;

proxy_set_header Host $http_host;
proxy_set_header   X-Real-IP $remote_addr;
proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;

proxy_buffering on;
proxy_buffer_size 32k;
proxy_buffers 4 128k;
proxy_busy_buffers_size 256k;
proxy_max_temp_file_size 256k;
    }

请注意:proxy_pass http://  填写客户服务器的地址。

使用PC客户端访问proxy服务器地址

浏览器中输入http:// proxy服务器IP

也可以是proxy服务器的域名

成功访问客户服务器页面即成功

观察客户服务器的日志

192.168.100.20 代理服务器地址
192.168.100.254 客户机地址。

访问成功。 记录了客户机的IP和代理服务器的IP。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值