NGINX学习(七)--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/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

原地址:https://www.cnblogs.com/cuishuai/p/8073748.html

原文地址:https://www.cnblogs.com/gllegolas/p/11724854.html

时间: 2024-10-16 09:07:10

NGINX学习(七)--nginx做正向代理的相关文章

nginx做正向代理

Nginx常用来做反向代理,但是作为正向代理大家有没有试过呢? Nginx配置如下: server{        resolver x.x.x.x;        listen 82;        location / {                proxy_pass http://$http_host$request_uri;        }} 注意项:1. 不能有hostname2. 必须有resolver, 即dns,即上面的x.x.x.x,换成你们的DNS服务器ip即可3 .

【nginx】【转】正向代理与反向代理的区别[

转自: http://blog.csdn.net/m13666368773/article/details/8060481 正向代理的概念 正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器这个代理服务器呢,他能访问那个我不能访问的网站于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容代理服务器去取回来,然后返回给我 从网站的角度,只在代理服务器来取内容的时候有一次记录有时候并不知道是用户的请求,也隐藏了用户的资料

nginx做正向代理搭建bugfree

下载地址: Nginx下载地址:http://download.csdn.net/detail/terrly88/9099117 bugfree下载地址:http://download.csdn.net/detail/terrly88/9099133 1.准备环境 yum -y install libmcrypt-devel mhash-devel libxslt-devel \ libjpeg libjpeg-devel libpng libpng-devel freetype freetyp

squid如何做正向代理,通过重定向器匹配正则重写url

首先是下载安装squid,squid的官网下载地址页面是http://www.squid-cache.org/Versions/,我安装的是3.5 stable版,此处不赘述,无非是configure.make.make install等 下文参考: http://www.liusuping.com/ubuntu-linux/squid-bianyi-anzhuang-canshu.html http://linuxme.blog.51cto.com/1850814/372960 http://

nginx做正向代理https遇到SSL_do_handshake()握手失败

SSL_do_handshake() failed (SSL: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number) while SSL handshaking to upstream, client:...... 解决方式是配置文件增加: proxy_ssl_session_reuse off; location / { ... ... proxy_ssl_session_reuse off; ... ... } 原

Nginx学习笔记03虚拟机与代理

1.1. 虚拟机 使用Nginx的配置文件中的server结点,可以很方便的在一个nginx实例中支持多个虚拟机. 前提条件:主机有多个域名. 本次试验中用到的主机192.168.197.101有三个域名: ng.coe2coe.me 计划指向的网站目录为nginx目录下的html目录 ng101a.coe2coe.me 计划指向的网站目录为nginx目录下的host目录下的ng101a.coe2coe.me目录. 首页内容中含有主机名称ng101a.coe2coe.me. ng101b.coe

【nginx学习】nginx反向代理前端跨域问题

* 跨域简介: 跨域是指a页面想获取b页面资源,如果a.b页面的协议.域名.端口.子域名不同,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源. 注意:跨域限制访问,其实是浏览器的限制. 跨域类型: URL 说明 是否跨域 http://www.cnblogs.com/a.js http://www.a.com/b.js 不同域名 是 http://www.a.com/lab/a.js http://www.a.com/script/b.js 同一域

nginx学习七 高级数据结构之动态数组ngx_array_t

1 ngx_array_t结构 ngx_array_t是nginx内部使用的数组结构.nginx的数组结构在存储上与大家认知的C语言内置的数组有相似性,比如实际上存储数据的区域也是一大块连续的内存.但是数组除了存储数据的内存以外还包含一些元信息来描述相关的一些信息,并且可以动态增长.下面 我们从数组的定义上来详细的了解一下.ngx_array_t的定义位于src/core/ngx_array.c|h里面. struct ngx_array_s { void *elts;//数组的首地址 ngx_

nginx学习(七):nginx提供静态资源服务

准备工作 这里准备了一个文件夹,里面放入了一个img文件夹和index.html文件,将文件上传到home下. 配置nginx 这里我们从新起个端口 server { listen 90; server_name localhost; location / { root /home/static_kevin; index index.html; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }