nginx之正向代理
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/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;
# 代理连接超时时间
30周年皇宫派对proxy_connect_timeout 30;
# 配置代理服务器HTTP状态缓存时间
proxy_cache_valid 200 302 10m;
proxy_cache_valid 301 1h;
proxy_cache_valid any 1m;
}
}电子商务网站设计
client端:
⼀次代理,直接在shell执⾏:
永久使⽤:
#vim .bashrc
#source  .bashrc
2)反向代理:
主要使⽤proxy_pass、upstream实现,upstream配置⽐较简单,但是如果做负载均衡和优化,还是需要下⼀番功夫的。这⾥不做想洗的介绍,参考我写的另外⼀篇⾼并发下的优化。