Linux入门教程: Nginx服务器日志配置-解决使用CDN记录真实用户I的问题

电脑杂谈  发布时间:2020-07-19 05:12:05  来源:网络整理

linux修改ip命令大全_linux修改ip配置文件_linux如何修改ip地址

Linux入门教程: Nginx服务器日志配置-解决了使用CDN记录真实用户IP(包括宝塔),rsyslog配置日志服务器修改配置文件位置的问题

关于nginx的日志配置,我之前写过一篇: 今天再次使用它,发现有很多地方没有提到,所以我将写一个更全面的记录.

关于如何更改的教程很多,但是基本问题是哪个文件以及在哪里更改以及如何生效.

linux如何修改ip地址_linux修改ip配置文件_linux修改ip命令大全

我们需要修改nginx.conf根配置文件

使用lnmp的服务器的常规配置文件位于: /usr/local/nginx/conf/nginx.conflinux修改ip配置文件,宝塔的配置文件我发现nginx.conf配置文件有两个地方: / www / server / nginx / conf /nginx.conf、/www/server/nginx/src/conf/nginx.conf. 有效的配置文件是: /www/server/nginx/conf/nginx.conf

在以下位置添加修改后的配置:

linux修改ip命令大全_linux修改ip配置文件_linux如何修改ip地址

需要注意的一件事是log_format main. 需要将此处的主要内容放入vhost中每个站点的日志配置中,以指示此配置的使用,如图所示:

linux修改ip配置文件_linux修改ip命令大全_linux如何修改ip地址

修改以上两个位置以使配置生效.

通过捕获数据包,我们可以看到,当从源请求服务器地址时,cdn节点将以X-Forwarded-For和CF-Connecting-IP参数的形式带来用户客户端的ip,如图所示. 该图:

linux修改ip命令大全_linux如何修改ip地址_linux修改ip配置文件

如果客户端添加了一个x-forward-for参数以尝试篡改,则该参数实际上将具有两个ip,最后一个ip始终是真实ip,并且伪造了前端: “ 8.8.8.8,163.160. 73.253“

因此,在配置日志参数时,可以将X-Forwarded-For参数的值放在第一位. nginx模块中的变量为$ http_x_forwarded_for,因此最终格式如下,其中保留了原始的$ remote_addrlinux修改ip配置文件,否则,真实的ip请求网站无法获取ip.

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

结合以上配置,最终的日志格式完美记录了真实IP和CDN节点的IP:


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-285530-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...