当前位置: 首页 >> Nginx >> 【web】nginx之正向代理 >> 正文

【web】nginx之正向代理

5年前 (2019-09-27)     作者:Jiaozn     分类:Nginx     阅读次数:1789     评论(0)    

1、概述

nginx的正向代理,只能代理http、tcp等,不能代理https请求。有很多人不是很理解具体什么是nginx的正向代理、什么是反向代理。下面结合自己的使用做的一个简介:

1)正向代理:

     所谓正向代理就是内网服务器主动要去请求外网的地址或服务,所进行的一种行为。内网服务---访问--->外网

2)反向代理:

    所谓反向代理就是外网要访问内网服务而进行的一种行为。 外网----请求--->内网服务

(是不是太简洁了#@#)

 

2、两种代理配置方式:

 

1)正向代理:

    server端:

应用在nginx的server段,不要server_name,需要添加一个resolver。

server {    # 配置DNS解析IP地址,比如 Google Public DNS,以及超时时间(5秒)
    resolver 8.8.8.8;    # 必需
    resolver_timeout 5s;    # 监听端口
    listen 8080;    access_log  /home/reistlin/logs/proxy.access.log;    error_log   /home/reistlin/logs/proxy.error.log;    location / {        # 配置正向代理参数
        proxy_pass $scheme://$host$request_uri;        # 解决如果URL中带"."后Nginx 503错误
        proxy_set_header Host $http_host;        # 配置缓存大小
        proxy_buffers 256 4k;        # 关闭磁盘缓存读写减少I/O
        proxy_max_temp_file_size 0;         # 代理连接超时时间
        proxy_connect_timeout 30;        # 配置代理服务器HTTP状态缓存时间
        proxy_cache_valid 200 302 10m;        proxy_cache_valid 301 1h;        proxy_cache_valid any 1m;
    }
}

client端:

一次代理,直接在shell执行:

#export http_proxy=http://192.168.1.9:8080

永久使用:

#vim .bashrc

export http_proxy=http://192.168.1.9:8080

#source  .bashrc

 

2)反向代理:

主要使用proxy_pass、upstream实现,upstream配置比较简单,但是如果做负载均衡和优化,还是需要下一番功夫的。这里不做想洗的介绍,参考我写的另外一篇高并发下的优化。


除非注明,发表在“Jiaozn的博客”的文章『【web】nginx之正向代理』版权归Jiaozn所有。 转载请注明出处为“本文转载于『Jiaozn的博客』原地址https://www.jiaozn.com/reed/513.html
0

评论

发表评论   

昵称*

E-mail*(建议输入,以便收到博主回复的提示邮件)

网站

分享:

支付宝

微信