代理的作用

Nginx代理

正向代理

反向代理

正向代理和反向代理的区别:代理的对象不一样

正向代理代理的对象是客户端,反向代理代理的对象是服务端

反向代理:

配置语法:proxy_pass URL;
默认状态:-
配置方法:location、if in location、limit_except

把原来的conf文件改一下名字,并且再复制一个重命名

修改realserver.conf

把里面之前配的location全部去掉,改为

location / {
root /opt/app/code2;
index index.html index.htm;
}

上传一个html到code2里面

把里面之前配的location全部去掉,改为

location / {
root /usr/share/nginx/html;
index index.html index.htm;
}

加一个location,当访问的是以test_proxy.html结尾的时候,转到127.0.0.1:8080

location ~ /test_proxy.html$ {
proxy_pass http://127.0.0.1:8080;
}

检查配置语法并重启

nginx -tc /etc/nginx/nginx.conf

nginx -s reload -c /etc/nginx/nginx.conf

使用netstat -luntp|grep nginx命令看一下

访问8080

访问80

把反向代理配置项注释掉再访问就会404

以上就是通过80做代理,反向代理8080

正向代理

把之前的conf留一个改为admin.conf,另外一个删除

只留一个location,并且改为如下

location / {
if (http_x_forwarded_for !~* "^192\.168\.1\.141"){  # 允许访问的IP
return 403;
}
root /usr/share/nginx/html;
index index.html index.htm;
}

检查配置语法并重启

访问

使用谷歌代理插件

使用代理再次访问

代理配置语法补充:http://nginx.org/en/docs/http/ngx_http_proxy_module.html

缓冲区:

配置语法:proxy_buffering on | off;
默认状态:proxy_buffering on
配置方法:http、server、location

扩展:proxy_buffer_size、proxy_buffers、proxy_busy_buffers_size

跳转重定向:

配置语法:proxy_redirect default;
proxy_redirect off;proxy_redirect redirect replacement;
默认状态:proxy_redirect default;
配置方法:http、server、location

头信息

配置语法:proxy_set_header field value;
默认状态:proxy_set_header Host $proxy_host;
        proxy_set_header Host Connection close;
配置方法:http、server、location

扩展:proxy_hide_header、proxy_set_body

超时:Nginx作为代理,到后端服务器的超时

配置语法:proxy_connect_timeout time;
默认状态:proxy_connect_timeout 60s;
配置方法:http、server、location

扩展:proxy_read_timeout、proxy_send_timeout

代理补充配置和规范

由于上面的那些配置可能会有很多地方用到,所以拿出来单独放在一个文件里面(文件需放在/etc/nginx下)

在location里面调用

Nginx详解十四:Nginx场景实践篇之代理服务的更多相关文章

  1. Nginx详解十:Nginx场景实践篇之Nginx静态资源场景配置

    一.静态资源WEB服务 1.静态资源类型:非服务器动态运行生成的文件 2.静态资源服务场景-CDN 假设静态资源存储中心在云南,用户在北京去请求一个文件,那么就会造成一个传输的延时,而如果Nginx同 ...

  2. Nginx详解十六:Nginx场景实践篇之缓存服务

    缓存类型: 服务端缓存 代理缓存 客户端缓存 Nginx代理缓存 配置语法 使用之前需要先定义一个proxy_cache_path配置语法:proxy_cache_path path [levels= ...

  3. Nginx详解十五:Nginx场景实践篇之负载均衡

    负载均衡 GSLB(全局的负载均衡,往往是以国家为单位,或者以省为单位) SLB Nginx就是一个典型的SLB模型, 分为四层负载均衡和七层负载均衡 七层负载均衡可以处理应用层,如thhp信息,Ng ...

  4. Nginx详解十三:Nginx场景实践篇之防盗链

    防盗链: 目的:防止资源被盗用 防盗链设置思路 首要方式:区别哪些请求是非正常的用户请求 基于http_refer防盗链配置模块(判断refer(上一步的链接)信息是否为允许访问的网站) 配置语法:v ...

  5. Nginx详解十一:Nginx场景实践篇之Nginx缓存

    浏览器缓存: HTTP协议定义的缓存机制(如:Expires.Cache-control等) 当浏览器第一次请求的时候,浏览器是没有缓存的 第二次请求开始就有缓存了 校验过期机制 配置语法-expir ...

  6. Nginx详解十八:Nginx深度学习篇之Rewrite规则

    Rewrite规则可以实现对url的重写,以及重定向 作用场景: 1.URL访问跳转,支持开发设计,如页面跳转,兼容性支持,展示效果等 2.SEO优化 3.维护:后台维护.流量转发等 4.安全 配置语 ...

  7. Nginx详解十七:Nginx深度学习篇之动静分离

    动静分离:通过中间件将动态请求和静态请求分离 作用:分离资源,减少不必要的请求消耗,减少请求延时 动静分离还有个好处就是,当动态请求的后端服务出问题了,只会影响动态的部分,静态资源不影响,照样加载 如 ...

  8. Nginx详解八:Nginx基础篇之Nginx请求限制的配置语法与原理

    Nginx的请求限制: 连接频率的限制:limit_conn_module 配置语法:limit_conn_zone key zone=name:size;默认状态:-配置方法:http 配置语法:l ...

  9. Nginx详解七:Nginx基础篇之Nginx官方模块

    Nginx官方模块 --with-http_stub_status_module:Nginx的客户端状态,用于监控连接的信息,配置语法如下:配置语法:stub_status;默认状态:-配置方法:se ...

随机推荐

  1. DedeCMS找后台目录漏洞

    参考文章 https://xianzhi.aliyun.com/forum/topic/2064 近期,学习的先知社区<解决DEDECMS历史难题--找后台目录>的内容,记录一下. 利用限 ...

  2. Javascript - ExtJs - 事件

    事件(ExtJs Event) Ext.Util.observable类  Ext.Util.observable是一个接口,为Ext组件的事件提供了支持,组件的事件不同于传统事件,所以需要有这么一套 ...

  3. 20165234 预备作业3 Linux安装及学习

    一.基于VirtualBox虚拟机安装Ubuntu 这是我首次安装虚拟机,也是首次接触Linux系统.对于下学期要运用的这个操作系统,以及如何在自己的电脑上安装虚拟机,我还是有些期待和好奇的. 我一直 ...

  4. RabbitMQ简单应用の简单队列

    (1)首先创建一个maven项目: pom.xml,重点是配置RabbitMQ <dependencies> <dependency> <groupId>junit ...

  5. Python笔记 【无序】 【四】

    魔法方法1.__xx__  总是被双下划线包围2.面向对象python的一切 3.能够在适当的时候自动被调用     构造和析构 __init__(self,……) -----相当于构造方法,类在实例 ...

  6. vmware启动虚拟机发现没权限

    前期安装未参与,但了解大致情况: 物理机上安装CentOS7系统,然后安装VMWare,虚拟了几台CentOS6 遇到的问题:物理机重启后,以root进入系统,但打开VMWare显示是普通用户权限,以 ...

  7. FAT文件系统规范v1.03学习笔记---3.根目录区之FAT目录项结构

    1.前言 本文主要是对Microsoft Extensible Firmware Initiative FAT32 File System Specification中文翻译版的学习笔记. 每个FAT ...

  8. Windows PowerShell 入門(2)-基本操作編 2

    前回に引き続きMicrosoftが提供している新しいシェル.Windows Power Shellの基本操作方法を学びます.基本操作編第2弾の今回は.パイプの使用方法を中心としたコマンドレットの操作方 ...

  9. node promise库bluebird

    var fs = require('fs') var Promise = require("bluebird") function file1() { return new Pro ...

  10. docker拉取镜像报错:net/http: TLS handshake timeout.

    docker拉取镜像报错:net/http: TLS handshake timeout. 启动一个后台的busybox容器 [yunva@node1 network-scripts]$ docker ...