nginx记录真是的IP地址 <备忘>

nginx、haproxy等作为代理服务器时,要使后端web服务器记录真是的IP地址,需要配置:

location / {
    proxy_set_header    Host    $host;
    proxy_set_header    X-Real-IP    $remote_addr;
    proxy_set_header    X-Forwarded-For    $proxy_add_x_forwarded_for;
    proxy_buffering    off;
    proxy_pass    http://bloke;
}

后端web服务器配置:

nginx:

log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘
                      ‘$status $body_bytes_sent "$http_referer" ‘
                      ‘"$http_user_agent" "$http_x_forwarded_for"‘;

apache:

将:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

改为:

LogFormat "%{X-Real-IP}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
时间: 2024-08-30 12:02:58

nginx记录真是的IP地址 <备忘>的相关文章

Nginx+tomcat显示真实IP地址

对于nginx+tomcat这种架构,如果后端tomcat配置保持默认,那么tomcat的访问日志里,记录的就是前端nginx的IP地址,而不是真实的访问IP.因此,需要对nginx.tomcat做如下配置: 1)nginx配置  在nginx.conf配置中修改 server{ listen            80; server_name       www.abc.com; location / { proxy_connect_timeout       3; proxy_send_t

haproxy后端nginx取得用户访问ip地址

            set_real_ip_from 172.16.100.120;  #haproxy 的IP地址         set_real_ip_from 172.16.100.110;  #haproxy 的IP地址         real_ip_header X-Forwarded-For;         log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '      

nginx反向代理取得IP地址

nginx反向代理后,在应用中取得的ip都是反向代理服务器的ip,取得的域名也是反向代理配置的url的域名,解决该问题,需要在nginx反向代理配置中添加一些配置信息,目的将客户端的真实ip和域名传递到应用程序中. nginx反向代理配置时,一般会添加下面的配置: proxy_set_header Host $host;      proxy_set_header X-Real-IP $remote_addr;      proxy_set_header REMOTE-HOST $remote_

CDN下nginx获取用户真实IP地址

随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址,如果后端是apache,请跳转到,如果是后端真实服务器是nginx,那么继续往下看. 实例环境: 用户IP 120.22.11.11 CDN前端 61.22.22.22 CDN中转 121.207.33.33 公司NGINX前端代理 192.168.50.121(外网121.207.

Nginx禁止直接通过IP地址访问网站

介绍下在nginx服务器禁止直接通过IP地址访问网站的方法,以避免别人恶意指向自己的IP,有需要的朋友参考下. 有时会遇到很多的恶意IP攻击,在Nginx下可以禁止IP访问. Nginx的默认虚拟主机在用户通过IP访问,或通过未设置的域名访问,在server的设置里面添加这一行: 复制代码代码示例: listen 80 default; 后面的default参数表示这个是默认虚拟主机. Nginx 禁止IP访问这个设置非常有用. 比如别人通过ip或者未知域名访问你的网站时,希望禁止显示任何有效内

自定义Nginx日志格式获取IP地址的省市份信息

注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6806672112477012493/ 在linux中nginx日志产生的格式是下面的配置: $remote_addr^A$msec^A$http_host^A$request_uri 然后准备好了获取的日志数据 创建工程编写代码: 创建执行类和方法 基本结构 创建一个日期处理的工具类 完成简单的IP和时间存放 判断请求参数,利用?判断 如果请求的日志信息拿不到 也没有必要获取其它信息了 将请求信息获取的处理方法

Nginx禁止直接通过IP地址访问网站(关闭默认站点或空主机头)

这篇文章主要介绍了Nginx中禁止使用IP访问网站的配置实例,一般在备案时可能需要这种设置,需要的朋友可以参考下 国内因为备案的原因,所有服务器都要禁止使用IP访问网站.否则,如果允许使用IP访问网站,那随便解析一个域名到该IP,访问该域名就可以打开网站了.这是一个极大的风险!Nginx中可以很方便的来解决这个问题,小菜鸟来跟大家一起探讨一下. 如下的配置项,可以设置允许使用IP访问网站. server { listen 80; server_name ""; } 这里相当于是绑定了一

Oracle记录连接用户IP地址的方法

我们都知道在v$session中记录着客户端的机器名称,但是没有IP,那我们如何让v$session中也记录IP的信息呢? 1.首先,利用 DBMS_SESSION 过程包,先执行: BEGIN DBMS_SESSION.set_identifier(SYS_CONTEXT('USERENV', 'IP_ADDRESS')); END; / 2.执行触发器 create or replace trigger on_logon_trigger after logon ondatabase begi

nginx禁止限制某个IP地址或网段访问服务器

nginx配置访问ip需要修改nginx.conf文件,只需要在server中添加allow跟deny的ip即可,如下: upstream novel { server 127.0.0.1:8080; } server { listen 80; server_name localhost; charset utf8; allow 112.97.0.0/16; deny all; location / { proxy_pass http://novel; proxy_set_header Host