nginx proxy模块

环境:

  user:192.168.100.169

  nginx代理:192.168.100.175

  tomcat:192.168.100.175

  域名:www.vijay.com  --->192.168.100.175

1.nginx配置

    server {
        listen 80;
        server_name www.vijay.com;

        location / {
            proxy_pass http://192.168.100.175:8080/;
            proxy_redirect off;
            proxy_set_header Host $host;          
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        }
        location /status {
                stub_status on;
                access_log on;
        }
    }

2.web服务器端日志配置(如tomcat)

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h  %{X-Forwarded-For}i %{X-Real-IP}i  %{Host}i  %l %u %t &quot;%r&quot; %s %b" />
3.log日志:
192.168.100.175  192.168.100.169 192.168.100.169  www.vijay.com  - - [11/May/2016:17:21:27 +0800] "GET /bg-upper.png HTTP/1.0" 304 -
192.168.100.175  192.168.100.169 192.168.100.169  www.vijay.com  - - [11/May/2016:17:21:27 +0800] "GET /bg-nav.png HTTP/1.0" 304 -
192.168.100.175  192.168.100.169 192.168.100.169  www.vijay.com  - - [11/May/2016:17:21:27 +0800] "GET /asf-logo.png HTTP/1.0" 304 -
192.168.100.175  192.168.100.169 192.168.100.169  www.vijay.com  - - [11/May/2016:17:21:27 +0800] "GET /bg-button.png HTTP/1.0" 304 -
192.168.100.175  192.168.100.169 192.168.100.169  www.vijay.com  - - [11/May/2016:17:21:27 +0800] "GET /tomcat.png HTTP/1.0" 304 -
192.168.100.175  192.168.100.169 192.168.100.169  www.vijay.com  - - [11/May/2016:17:21:27 +0800] "GET /bg-middle.png HTTP/1.0" 304 -
%h :192.168.100.175
%{X-Forwarded-For}i:192.168.100.169
%{X-Real-IP}i:192.168.100.169
%{Host}i:www.vijay.com

备注:

X-Forwarded-For 和 X-Real-IP 的区及获取客户端的ip? 一般来说,X-Forwarded-For是用于记录代理信息的,每经过一级代理(匿名代理除外),代理服务器都会把这次请求的来源IP追加在X-Forwarded-For中 来自4.4.4.4的一个请求,header包含这样一行 X-Forwarded-For: 1.1.1.1, 2.2.2.2, 3.3.3.3 代表 请求由1.1.1.1发出,经过三层代理,第一层是2.2.2.2,第二层是3.3.3.3,而本次请求的来源IP4.4.4.4是第三层代理。 而X-Real-IP,一般只记录真实发出请求的客户端IP,上面的例子,如果配置了X-Read-IP,将会是 X-Real-IP: 1.1.1.1 所以 ,如果只有一层代理,这两个头的值就是一样的。
时间: 2024-10-24 18:48:54

nginx proxy模块的相关文章

Nginx配置之location模块和proxy模块

1.location指令的用法介绍 Location主要用来匹配url,如:http://www.beyond.com/nice,在这里对于location来说www.beyond.com是域名,/nice才是url.对于url的匹配,可以使用字符串或者正则表达式,但如果是正则表达式,必须指定前缀,location指令来匹配不同的url,匹配成功后应用不同的配置语法:location [=|~|~*|^~|@]/url {…..}[=]精确匹配,如果找到匹配等号的内容,立即停止搜索,并立即处理请

nginx的proxy模块及upstream模块介绍

在互联网场景,nginx通常担任处理静态文件的web文件服务器与反向代理服务器的角色. nginx反向代理的特性: 1.在上传文件的场景中,客户端与nginx反向代理建立连接,先把需要上传的文件上传到代理服务器,当代理接收完成文件后,再与上游的真实服务器建立连接,快速把文件上传到服务器(与squid的工作方式不同).为什么要这样做?客户端与代理服务器的连接是互联上慢速连接,而代理与上游服务的连接是内网的高速连接,再因为http的连接是无状态的,客户端与代理的连接可开启keep-alive功能,而

Nginx之upstream模块和proxy模块简单应用

Nginx在web服务中是一个很强大的工具,可以做静态web服务,当然它的最常用的功能就是其负载均衡,下面只是应用nginx的upstream模块和proxy模块来做一个小实验.在此体现的功能也只是冰山一角. upstreem 使用注意:1.只能使用http上下文.2.各server只能直接使用IP或者主机名,不要加协议,在此次实验中使用server IP的方式来代理其后端,其后端使用Apache,提供web服务. 实验拓扑图: 实验配置 本实验主要应用nginx的upstream模块和prox

Nginx之upstream和proxy模块使用

一.模块简介 ngx_http_upstream_module模块用于定义可以由proxy_pass.fastcgi_pass.uwsgi_pass.scgi_pass.memcached_pass和grpc_pass指令引用的服务器组. 二.示例 1 upstream feng { 2 server 192.168.1.1:8080 weight = 8; 3 server www.feng.club weight = 2; 4 } 5 6 server { 7 location / { 8

Nginx Http模块开发

关于Nginx Http模块开发的文章非常少,只有Emiler的那篇关于Http模块的文章,但是那篇文章里面,并没有说到事件型的模块如何进行开发.而且文章里面提到的内容实在是让人有点意犹未尽.因此,对于Http事件型模块的开发进行了一些总结,与大家分享.但是,无论如何,要进行Nginx模块开发,最好的方法还是找到相似性较大的模块的代码进行参考,多试多看. 通常,一个Http模块均是有以下的几个部分组成: 1.模块配置结构体:(configure structure) 负责存储配置项的内容,每一条

nginx upstream模块

参考文档 nginx  upstream模块 http://www.nginx.cn/doc/standard/httpupstream.html #upstream模块: 用于负载均衡 ,反向代理 (proxy fastcgi uwsgi scgi memcached) #语法:  upstream name { ... } upstream static_server { server  A*:80 max_fails=2 fail_timeout=5s; serve    B*:80 ma

Nginx 功能模块

一.Nginx 核心功能模块 (1) Nginx 核心功能模块负责 Nginx 的全局应用,主要对应主配置文件的 Main 区块和 Events 区块(2) Nginx 核心功能模块官网:http://nginx.org/en/docs/ngx_core_module.html 二.Nginx http 模块 Nginx http 功能模块 模块说明 ngx_http_core_module 包括一些核心的 http 参数配置,对应 Nginx 的配置为 HTTP 区块部分 ngx_http_a

Nginx常用模块和请求处理流程简介

Nginx由内核和模块组成的,其中内核完成的工作比较简单,仅仅通过查找配置文件见客户端请求映射到一个location block,然后又这个location block中所配置的每个指令将会启动不同的模块去完成相应的工作. 一.nginx模块 (1)从结构上nginx分为核心模块,基础模块和第三方模块,例如 HTTP模块.MAIL模块.EVENT模块属于核心模块: HTTP ACCESS模块.HTTP REWRITE模块.HTTP FastCGI模块.HTTP PROXY模块属于基础模块: HT

Ngnix Proxy模块的应用之负载均衡

Ngnix Proxy模块的应用之负载均衡 Proxy 模块介绍 在我之前的文章提到过,Nginx可以提供反向代理加速.基于应用层的负载均衡并能对后端服务器做健康状态检测.下面我们就动手操作一下,看如何实现上述功能. 实验环境 主机名 主要功能 外网地址 内网地址 code nginx代理服务器 192.168.1.11 192.168.10.1 node1 httpd应用服务器1 192.168.10.2 node2 httpd应用服务器2 192.168.10.3 如果之前没有接触过Ngin