首页 > 系统相关 >nginx odoo 多层代理获取真实IP

nginx odoo 多层代理获取真实IP

时间:2023-03-08 17:33:52浏览次数:68  
标签:set Forwarded nginx IP header proxy odoo 8081

https://juejin.cn/post/7067104289520353310

网络架构:

pc->14.23:7050(nginx)->14.22:8081(nginx)->14.22:8080(web服务)

23 nginx 配置:

   server {
	listen 7050;

        location /{
             proxy_pass http://xx.xx.14.22:8081/TestServer;
             proxy_set_header X-Real-PORT $remote_port;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $remote_addr;
        }

22 nginx 配置:

    server {
        listen 8081;
        listen [::]:8081 ipv6only=on;
       
        location / {
            proxy_set_header Host $host;
            proxy_http_version 1.1;
            proxy_set_header Connection "";
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://xx.xx.14.22:8080;
        }
  
    }

web 服务请求头参数

String ips = request.getHeader("X-Forwarded-For");

odoo 服务请求头参数设置

def application(environ, start_response):
    if config['proxy_mode'] and 'HTTP_X_FORWARDED_HOST' in environ:
        werkzeug.serving.WSGIRequestHandler.address_string = lambda self: self.headers.get('X-Forwarded-For', self.client_address[0])
        return werkzeug.contrib.fixers.ProxyFix(application_unproxied)(environ, start_response)
    else:
        return application_unproxied(environ, start_response)

效果图

会显示两个IP地址,使用逗号隔开
image

image

标签:set,Forwarded,nginx,IP,header,proxy,odoo,8081
From: https://www.cnblogs.com/qianxunman/p/17195452.html

相关文章

  • 【JavaScript】38_对象的序列化----JSON
    3、对象的序列化对象的序列化JS中的对象使用时都是存在于计算机的内存中的序列化指将对象转换为一个可以存储的格式在JS中对象的序列化通常是一个对象转换为字符串(JSON字......
  • 【中间件安全】Nginx 安全加固规范
    1.适用情况适用于使用Nginx进行部署的Web网站。2.技能要求熟悉Nginx配置,能够Nginx进行部署,并能针对站点使用Nginx进行安全加固。3.前置条件1、根据站点开放端口,进程ID,确......
  • VMware虚拟机IP地址下发
    Windowsserver2012实现DHCP下发IP地址1.首先创建两个windowsserver2012版本的虚拟机,进行基础配置时,保证每个虚拟机处在同一lan网段。2.进入虚拟机先关闭两个虚拟机......
  • windows server 2012 DHCP下发IP地址
    在配置之前,将两台虚拟机的防火墙关闭,将属于服务端的IP地址手动配置首先保证两台虚拟机在同一lan区段点击添加角色与功能,选择DHCP服务器添加功能后,安装DHCP点击工......
  • 跟着思兼学习Klipper(22)稳中求胜: 工业级的 Fysetc Spider King 简要观察记录
    稳中求胜:工业级的FysetcSpiderKing简要观察记录前言本文感谢富源盛(Fysetc)赞助的SpiderKing主板。最初接触8轴主板就是当时买的mksmonster8v1和三叉戟自带......
  • Qt获取ip和mac地址
    准确获取mac地址QStringMainWindow::getHostMacAddress(){QList<QNetworkInterface>nets=QNetworkInterface::allInterfaces();//获取所有网络接口列表......
  • Day 14 14.2 代理IP
    代理IP代理IP:反反爬使用代理ip是非常必要的一种反反爬的方式,但是即使使用了代理ip,对方服务器任然会有很多的方式来检测我们是否是一个爬虫,比如:一段时间内,检测IP访问的频率......
  • 升级ArcGIS API for JavaScript 4.26踩坑指南
    背景    之前有个老项目用了4.23的版本,就想着升级到最新,万万没想到折腾了一天,踩了不少坑终于搞好了。版本升级问题    首先升级版本不是改下版本好就行,还要配......
  • 【JavaScript UI库和框架】上海道宁与Webix为您提供用于跨平台Web应用程序开发的JS框
     Webix是Javascript库一种软件产品用于加速Web开发的JavaScriptUI库和框架Webix用于跨平台Web应用程序开发的JS框架102个UI小部件和功能丰富的CSS/HT......
  • JavaScript上传文件夹的三种解决方案
    ​ 前言:因自己负责的项目(jetty内嵌启动的SpringMvc)中需要实现文件上传,而自己对java文件上传这一块未接触过,且对Http协议较模糊,故这次采用渐进的方式来学习文件上传的......