首页 > 系统相关 >Nginx 4层代理获取客户端真实IP

Nginx 4层代理获取客户端真实IP

时间:2024-09-14 10:13:11浏览次数:12  
标签:http addr IP server Nginx proxy protocol 客户端

架构

image

4层代理配置

stream {
    upstream backend {
        server 10.4.7.30:80;
    }
 
    server {
        listen 80;
        proxy_pass backend;
        proxy_connect_timeout 1s;
        proxy_protocol on ;  # 主要是把这个参数开上
    }
}

后端nginx配置

注意这种方式客户端不能够直接访问后端服务器。

conf.d]# cat mywebsite.conf 
server {
  listen 81 proxy_protocol;
  root /www;
 

需要修改下日志格式。

http {
    log_format  main  '$proxy_protocol_addr  $remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_real_ip" "$http_x_forwarded_for"';
                   
$proxy_protocol_addr  # 这个变量获取到了客户端的真实IP地址。

客户端的真实IP地址。

image

标签:http,addr,IP,server,Nginx,proxy,protocol,客户端
From: https://www.cnblogs.com/gshelldon/p/18413434

相关文章

  • IP 地址查询,给网络公关来点“真”的
    现在网络普及越来越广,影响力也越来越大,然而一些人为的操纵的负面事件也浮出水面,其中最为突出的便是“水军”操纵下的虚假网络公关战以及各种“刷量”服务。从“花5万就能上热搜”的非法生意被警方打击,到刷量公司被微博平台以不正当竞争为由告上法庭,网络世界中的“虚假繁荣”正......
  • 高级前端应该掌握的Nginx相关知识 转载 404 跨域
    Nginx是在前端服务部署时是很重要的一部分,也是部署的基础,学会了通过Nginx部署前端资源,才能继续后续的一系列进阶。一、了解一点简单的Nginx知识本节内容作为基础知识,如果熟悉Nginx可以略过,如果不熟悉可以实际操作一下。现在服务器安装Nginx很简单,一般只需要两行命令即可,安装......
  • PbootCMS附件上传报错UNKNOW: Code: 8192; Desc: stripos()
    这个问题似乎是由于 stripos() 函数在处理某些字符或字符串时出现了不兼容或者错误的情况。然而,建议的修改方式 stripos($types,chr($ext)) 看起来并不正确,因为 chr() 函数会将一个ASCII值转换成对应的字符,而 $ext 通常是一个表示文件扩展名的字符串。解决方案检......
  • JavaScript语法入门六 数据类型
    数据类型JavaScript数据类型有8种,分别是number、bigint、string、boolean、null、undefined、symbol、object。JavaScript是一种弱类型语言,或者说动态类型语言。即每一个变量的类型在定义之后可变化的,JavaScript根据使用情况自动识别。number类型整数、浮点数。范围:常规的数字、Inf......
  • 【IPV6从入门到起飞】5-2 IPV6+Home Assistant(ESP32+MQTT+DHT11+BH1750)传感器采集上
    IPV6+HomeAssistant[ESP32+MQTT+DHT11+BH1750]传感器采集上传监测1背景2实现效果3HomeAssistant配置3-1MQTT配置3-2yaml配置3-3加载配置4ESP32搭建4-1开发环境4-2工程代码5实现效果1背景在上一小节【IPV6从入门到起飞】5-1IPV6+HomeAssistant(搭建......
  • 数据库tips18
    聚簇索引要求物理记录次序与索引项次序一致,起到对物理记录的排序和重组织作用,可以提高某些查询的性能。数据库通过一组规则来保证数据输入的正确性,即完整性约束。完整性约束分为:实体完整性、参照完整性、用户定义完整性。①实体完整性:规定基本关系R的主键primarykey:不能为空、也......
  • 3.4.1.2 IPIPE对Linux中断号的改造
    点击查看系列文章=》 InterruptPipeline系列文章大纲-CSDN博客3.4.1.2IPIPE对Linux中断号的改造    在IPIPEdomain中,IPIPE_NR_IRQS代表中断总数量,在代码中经常用到,最具代表的就是下图中定义structipipe_irqdescirqs[IPIPE_NR_IRQS].        先列一......
  • nginx配置文件解释及优化
    Nginx配置文件基本结构Nginx的配置文件主要由几个部分组成:全局块、events块、http块等。全局块:主要设置影响nginx服务器整体运行的配置指令,如工作进程数(worker_processes)、错误日志存放路径(error_log)等。events块:影响nginx服务器与用户的网络连接,如设置网络连接的序列化(multi_accep......
  • hackmyvm靶机拯救者模式解决分配不到ip的问题 转载
    https://www.cnblogs.com/jason-huawen/p/16851113.html关于拯救者模式的详细介绍介绍......
  • ubuntu20.04 | pip | python包管理工具
    前言我们在使用python的过程中,时常需要安装python库或框架来开发python应用程序,这个时候就需要用到pip命令了。最近需要使用pymodbus库,来实现modbusRTU通信,但是需要安装特定的版本号,接下来,就以pymodbus库为例,总结了一下pip的使用教程具体操作<1>查看某个python库是否......