文档章节

Nginx 手记(八)代理服务

神奇Sam
 神奇Sam
发布于 2017/08/30 14:46
字数 436
阅读 729
收藏 0

简单理解

  • 正向代理:代理的对象是客户端,服务端不能得知客户端是真实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插件进行代理配置并测试。

© 著作权归作者所有

共有 人打赏支持
神奇Sam
粉丝 22
博文 41
码字总数 27998
作品 0
广州
程序员
私信 提问
Linux学习手记

生成SSL证书 openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr 开源免费SSL证书:https://letsencrypt.org/ http://www.vpser.net/build/letsencrypt-certbot......

flydo
2015/12/16
165
0
ubuntu下nginx安装手记

Nginx是一个高性能的HTTP和反向代理服务器. Nginx 使用 Unix 下常用的 './configure && make && make install' 过程来编译安装. configure 脚本确定系统所具有一些特性,特别是 nginx 用来处...

mfcai
2013/01/03
0
0
nginx~linux下的部署

一些概念 Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发...

mcy247
2017/12/06
0
0
Nginx server之Nginx作为web服务器(基于域名或IP的web服务器)

一:nginx简介 Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开...

fighting-cluber
2014/03/11
0
0
Multi-Stage Build多阶段Build Docker镜像

我们在上一篇手记 中给大家介绍了如何完全使用Docker搭建Angular开发和测试环境,今天我们接着这个话题给大家看看如果通过Docker部署Angular项目。 我们先看看假如没有Docker,我们一般怎么去...

麦兜搞IT
05/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

使用linux将64G的SDCARD格式化为FAT32

一、命令如下: sudo fdisk -lsudo mkfs.vfat /dev/sda -Isudo fdisk /dev/sda Welcome to fdisk (util-linux 2.29.2). Changes will remain in memory only, until you decide to wri......

mbzhong
21分钟前
3
0
深入理解Plasma(四):Plasma Cash

这一系列文章将围绕以太坊的二层扩容框架,介绍其基本运行原理,具体操作细节,安全性讨论以及未来研究方向等。本篇文章主要介绍在 Plasma 框架下的项目 Plasma Cash。 深入理解Plasma(1):...

HiBlock
昨天
1
0
命令参数的三大风格:Posix、BSD、GNU

今天读到命令行中参数的风格有三大类,即Unix/Posix、BSD、GNU。分别有以下特征: Unix/Posix风格,即命令后的参数,可以分组,便必须以连字符开头,如ps -aux。 BSD风格,即命令后的参数,可...

大别阿郎
昨天
2
0
PHP生成图片验证码

PHP生成图片验证码 /** * PHP生成图片验证码 * Class VerifyImage */class VerifyImage{ // 生成随机字串 private $verifyCode; // 图片对象 private $image; /**...

DrChenXX
昨天
1
0
纹理与表面细节添加方法---OpenGL纹理函数

OpenGL线纹理函数 OpenGL表面纹理函数 OpenGL体纹理函数 OpenGL纹理图案的颜色选项 OpenGL纹理映射选项 OpenGL纹理环绕 复制帧缓存中的OpenGL纹理图案 OpenGL纹理坐标数组 OpenGL纹理图案命名...

中国龙-扬科
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部