Nginx 手记(八)代理服务
Nginx 手记(八)代理服务
神奇Sam 发表于4个月前
Nginx 手记(八)代理服务
  • 发表于 4个月前
  • 阅读 720
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

简单理解

  • 正向代理:代理的对象是客户端,服务端不能得知客户端是真实ip,常用于翻墙。
  • 反向代理:代理的对象是服务端,客户端不能得知真正提供服务的服务端ip,用于隐藏服务端、负载均衡等。

配置语法


#代理配置
语法:  proxy_pass URL;
默认值:无
上下文:location,if in location,limit_except

#代理缓冲区
#打开缓冲区后,nginx会尽有可能把一个请求的所有信息收集完,然后返回客户端。
#缓存内容先存放在内存中,超出会存入硬盘中。
#好处:减少io损耗。
语法:proxy_buffering on|off;
默认值:proxy_buffering on
上下文:http,server,location

#跳转重定向
语法:proxy_redirect default|off|redirect replacement;
默认值:proxy_redirect default;
上下文:http,server,location

#头信息
#nginx作为代理服务器的时候,通过设置头信息,想后端传递该信息。
语法:  proxy_set_header field value;
默认值:proxy_set_header Host $proxy_host;
        proxy_set_header Connection close;
上下文:http,server,location

扩展:proxy_hide_header、proxy_set_body

#连接超时
语法:  proxy_connect_timeout time;
默认值:proxy_connect_timeout 60;
上下文:http,server,location

扩展:proxy_read_timeout、proxy_send_timeout


#简单配置
location / {
    #代理地址
    proxy_pass  http://127.0.0.1:8080;
    #
}

一、配置正向代理

在server中配置一下location
server {
    #正向代理的端口
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;
    
    #配置DNS服务,这里配置google的dns
    resolver 8.8.8.8;
    location / {
        proxy_pass http://$http_host$request_uri;
        proxy_redirect default; #一般配置默认即可
        
        #添加头信息
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        
        #配置超时
        proxy_connect_timeout 30;
        proxy_send_timeout 60;
        proxy_read_timeout 60;
        
        #配置缓冲区,
        proxy_buffer_size 32k;
        proxy_buffering on;
        proxy_buffers 4 128k;
        proxy_busy_buffers_size 256k;
        proxy_max_temp_file_size 256k;
        
    }
    
}
在客户端配置代理
这里推荐使用chrome浏览器中的SwitchySharp插件进行代理配置并测试。
标签: Nginx CentOS Linux
共有 人打赏支持
粉丝 16
博文 41
码字总数 27998
×
神奇Sam
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: