Nginx反向代理Odoo后导致日志中Werkzeug记录的IP地址不正确的问题

OpenERP 7.0实战部署:Linux服务构建与ERP架构解剖 ERP系统是企业数字化的核心基础设施,其底层依赖关系、服务启动机制与数据库协同逻辑,构成了典型Linux应用栈的完整范式。理解Python+PostgreSQL+XML视图驱动的传统ERP架构,有助于掌握现代云原生应用的演进根源。OpenERP 7.0作为AGPLv3许可下的轻量级开源ERP标本,强制暴露了从内核模块加载、glibc兼容性、init脚本编写到PostgreSQL事务调优的全链路细节,是Linux系统管理、服务化部署与遗留系统迁移可多得的教学载体。本文聚焦Debian 7环境下的裸机安装、编 阅读详情

使用环境

  • 主机(win7 192.168.1.78) 虚机 (ubuntu 192.168.1.102)
  • ubuntu 16.04
  • nginx 1.10.0
  • odoo 9.0c

问题描述

  1. 在odoo不使用代理的情况下,日志中记录的ip地址是正确的
    这里写图片描述

  2. 配置nginx

    $ sudo vim /etc/nginx/sites-available/odoo.conf
    
    # odoo.conf 配置如下
    
    
    # 也可以先删除/etc/nginx/sites-available/default, 因为监听80端口冲突了
    
    --- odoo.conf ---
    server {
        listen 80 default;
        server_name _;
    
        location / {
            proxy_pass http://127.0.0.1:8069;
            proxy_next_upstream error timeout invalid_header http_500 http_502 http_504;
    
            proxy_buffer_size 128k;
            proxy_buffers 16 64k;
            proxy_redirect off;
    
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;  # 这一行必须要有
            proxy_set_header X-Forwarded-HOST $host;  # 这一行必须要有
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    
        location ~* /[a-zA-Z0-9_]*/static/ {
            proxy_cache_valid 200 60m;
            proxy_buffering    on;
            expires 
Flask Web开发入门(五)之日志 作为码农,在开发功能中记录日志是必要且必须的,因为事情往往像你想象的那样理想完美,就像你开发的代码那样,良好的日志习惯能助你快速排查定位问题,从 Flask 0.3 开始,Flask 就已经预置了日志系统。 以下是Flask日志的运用示例: import os import logging import sys LOG_PATH = 'logs' LOG_FILE = 'text.t 阅读详情

相关推荐

从零开始用TS开发babylonjs - 本机环境搭建

babylonjs,初始化本地安装,web3d引擎

han3527638的专栏 772

Flask日志信息打印如何改变位置

在Flask框架中,每处理完一条请求,都会在终端打印出一条请求的日志信息: 127.0.0.1 - - [31/May/2018 04:40:35] "POST /xxx/xxx/xxx HTTP/1.1" 200 - 之所以打印了这条日志信息,是因为Flask框架在处理完请求后,调用了werkzeug库的_log函数,函数如下。 def _log(type, message, *args...

fqyhawk的博客 5088

【backtrader保姆级教学】投资组合回测

method1:探索投资组合的最有方案,使用蒙特卡洛模拟Markowitz模型。# 提取最小波动组合对应的权重, 并转换成Numpy数组。# 绘制收益-标准差的散点图,并用颜色描绘夏普比率。# 在收益-风险散点图中突出风险最小的点。:param any_day: 任意日期。# 将该点坐标显示在图中并保留四位小数。password = “替换密码”# 找到标准差最小数据的索引值。user = “替换账号”# 计算GMV投资组合收益。# 计算每项资产的夏普比率。# 设置无风险回报率为0

weixin_38132951的博客 2286

Odoo 控制台Error输出\u字符乱码

在写Odoo框架的时候报错出现下列类似 \u8bf7\u6c42\u6210\u529f \u字符乱码,是因为odoo自带的框架机制导致的,正确识别中文内容,所以才输出了Unicode的字符乱码 只需要将Unicode的字符乱码报错信息,复制粘贴到Unicode转中文的网站,转换一下中文形式,就可以正确阅读报错内容了 Unicode转换中文网站 ...

GMH的博客 2274

werkzeug,一个神奇的 Python 库!

Werkzeug 是一个高效的 WSGI(Web 服务器网关接口)工具库,为 Python Web 应用程序的开发提供了丰富的功能和灵活的工具。我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

m0_59236602的博客 2908

flask写接口,定制日志输出 - 将请求状态以及自定义日志写入文件中

无论是写接口还是写项目,配置日志是必选的;适合配置可以帮助自己排查代码逻辑问题简单说一说日志的等级以及用处1. 日志等级DEBUG : 10INFO:20WARN:30ERROR。40数字越大,等级越高!!2. 日志用处:DEBUG(调试):用于开发阶段的调试,开启后,会记录程序运行过程中的所有详细信息,用于排查代码逻辑问题;在生产环境一般建议长期开启,会产生大量的日志数据。

2301_76868495的博客 3233

python程序编写应注意哪些问题_在Python中使用全局日志时需要注意的问题

在使用 uliweb 开发 soap webservice 后,启动 uliweb 时,werkzeug日志莫名其妙丢失了。正常的日志:复制代码 代码如下:[INFO] * Loading DebuggedApplication...[INFO] * Running on http://localhost:8000/[INFO] * Restarting with reloader[IN...

weixin_39710561的博客 207

Odoo 14 从零安装部署全攻略:Ubuntu环境搭建与生产级配置

企业资源规划(ERP)系统是现代企业实现业务流程数字化的核心平台,其通过整合销售、库存、财务、生产等模块,实现数据流与业务流的统一。开源ERP系统因其灵活性、可定制性和成本优势,成为众多企业的首选。Odoo作为全球流行的开源ERP解决方案,其长期支持版本Odoo 14凭借稳定性和丰富的社区生态,在生产环境中广泛应用。部署Odoo 14的关键在于构建稳固的底层环境,这涉及操作系统选型、Python虚拟环境配置、PostgreSQL数据库部署以及关键组件如Wkhtmltopdf的集成。采用源码安装方式,结合虚拟

weixin_30387423的博客 449

Odoo 14 源码部署实战:从零搭建企业级ERP生产环境

企业资源计划(ERP)系统是现代企业实现业务流程一体化管理的核心软件,其核心原理在于通过一个统一的数据库和模块化应用,整合销售、采购、库存、财务等关键业务数据流。开源ERP系统Odoo凭借其模块化架构和活跃的社区生态,为企业提供了高性价比的数字化转型方案。从源码部署Odoo仅能获得最大的系统控制权和透明度,便于深度定制与性能调优,更是保障生产环境稳定、安全运行的最佳实践。本文聚焦于在Ubuntu服务器上,通过系统环境准备、PostgreSQL数据库配置、Python虚拟环境管理、以及Nginx反向代理与S

weixin_30411239的博客 310

SysMocap终极实战指南:构建高效实时动作捕捉系统的专业解决方案

SysMocap是一款基于Google Mediapipe Holistic技术的跨平台实时动作捕捉系统,专为3D虚拟角色动画制作而设计。该系统通过单目摄像头即可实现精准的人体姿态识别和动作捕捉,为VTuber、直播、AR/VR应用提供了一套完整的视频驱动动画生成解决方案。SysMocap的核心价值在于将复杂的动作捕捉技术平民化,让开发者无需昂贵的专业设备就能创建逼真的虚拟角色动画,显著降低了3D

gitblog_00189的博客 407

第十四章 Odoo 12开发之部署和维护生产实例

在本文中,我们学习了在Debian系生产服务器中设置和运行 Odoo 所需的其它步骤。我们一起了解了配置文件中最重要的设置项,并学习了如何擅用多进程模式。为提升安全性和扩展性,我们还学习了如何使用 Nginx 来作为 Odoo 服务处理之上的反向代理。本文涵盖了运行 Odoo 服务并向用户提供稳定、安全服务的基础知识。要更多地了解 Odoo,可参考官方文档。其中更深入的讲解了一些课题,并包含了一些本系列文章未涉及的课题。还有一些有关 Odoo 的出版图书还助于你的学习。

羽落花开的博客 979

Nginx反向代理odoo16配置

我想给自己的登陆链接起一个好记的别名, 试了很多方法, 最终只能用这个方法了。# odoo 自带web服务器, 需要先设置odoo配置, 支持反向代理。# 替换掉erp字段。

ForRubyDownLoad的博客 1215

解决Nginx获取IP有误

location ~ /\. { ##在每个location种添加以下代码 proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 客户端真实协议(http/https) proxy_set_header X-Forwarded-Proto $scheme; } ...

dunpaixia083的博客 718

werkzeug 详解

首先,先向大家介绍一下什么是 werkzeugWerkzeug是一个WSGI工具包,他可以作为一个Web框架的底层库。这里稍微说一下, werkzeug 是一个web服务器,也是一个web框架,而是一个工具包,官方的介绍说是一个 WSGI 工具包,它可以作为一个 Web 框架的底层库,因为它封装好了很多 Web 框架的东西,例如 Request,Response 等等。例如我最常用的 Fla...

perfectsorrow的博客 2万+

werkzeug第一个坑

最近在买了一本关于TensorFlow 2.0的实战编程书(走向TensorFlow 2.0深度学习应用编程快速入门),里面是附带源码,书里说的代码都是验证过的,对于一个初学者来说,从零开始搭建项目,确实是会遇到同的坑。由于自己很久没有写过python代码,而且电脑也是新的,python相关环境都没有。首先需要装好Anaconda,再安装TensorFlow相关库,再搞个开发工具pycharm,...

不务正业的猿 4100

Werkzeug教程

原文链接:http://werkzeug.pocoo.org/docs/tutorial/ 欢迎来到Werkzeug教程,这里我们将会创建一个仿制TinyURL的应用,将URLs存储到一个redis实例。为了这个应用,我们将会使用的库包括,用于模板的Jinja 2、用于数据库层的redis和用于WSGI层的Werkzeug。 你可以使用pip安装需要的库: [plai

奋斗 1万+

当我们在使用Flask时,如何记录日志

我们在开发基于Flask的Web应用时,往往容易忽略了对日志的使用,而在Flask的官方文档中,对日志这块的介绍也仅仅停留在如何与系统集成上。记录日志这个看似很简单的事情,在实际中很多人却一定能做好,要么知道何时进行日志记录,要么就是记录日志然并卵。所以,今天就来说说记录日志这件小事。说它是件小事,因为它的确会影响你系统的正常流程,有没有它系统都能跑起来,也正因为这样,很多人便忽略了日志的处

于振 3万+

Flask 日志记录

Flask 日志记录 - 示例代码一 - 示例代码二 Flask 日志记录 最近项目需要用到flask日志模块来记录日志,这里做下记录- 示例代码一 from flask import Flask import logging app = Flask(__name__) # 日志系统配置 handler = logging.FileHandler('app.log

不知火猪 7474

Flask生产环境部署指南

前言 当我们日常写完一个flask服务接口时,通过app.run()这种方式直接启动时,会出现一些警告,如下: 意思是这个只是一个测试开发环境,能用于生产环境。 这种部署方式在有1个以上线程请求就崩掉,根本保证稳定性和性能 在需要复杂的代码修改了环境部署前提下,我实测了下面这种可以用于生产环境的部署方式: 一.安装gunicorn pip install gunicorn 二、导入proxyfix from werkzeug.middleware.proxy_fix import ProxyFix

weixin_44615267的博客 3112

初窥werkzeug

初窥werkzeug 什么是werkzeug 首先要明确一点werkzeug是一个WEB服务器也是一个WEB框架, 它是一个WSGI的工具包, 它可以作为一个WEB框架的底层库被使用, 而Flask框架就是以werkzeug为基础开发的。作为WSGI的工具包, 一个WEB框架的底层库, 它封装了很多有关于WEB框架的东西, 比如Request, Response等。如果想要了解Flask的底层原理, 那么势必要剖析werkzeug的实现原理。 安装werkzeug 创建虚拟环境 创建虚拟环境的目的是为

Sc.Crits 373

毕业设计java微信小程序健身房私教预约系统+ssm源码含文档含教程

毕业设计java微信小程序健身房私教预约系统+ssm源码含文档含教程后台是ssm框架,后台的页面是vue,微信小程序,数据库mysql,jdk1.8,开发工具用ecplise、myecplise、sts、idea都可以对于健身房私教预约功能所牵扯的数据都是通过用户进行健身房私教预约等相关的数据信息内容、并且可以进行管理员服务端;首页、个人中心、用户管理、教练管理、课程类型管理、私教课程管理、课程购买管理、课程预约管理、课程评价管理、留言板管理、系统管理,教练微信端;首页、私教课程、健身资讯、我的(教练信息、私教课程、课程购买、课程预约、课程评价、留言板)用户微信端;首页、私教课程、健身资讯、我的(用户信息、私教课程、课程购买、课程预约、我的收藏管理、留言板)功能可以通过系统进行分配,传统的管理方式已经无法满足用户的需求。为此开发了本健身房私教预约 ,为用户提供一个基于健身房私教预约,同时方便管理员进行信息操作。包含:源码、数据库脚本、论文、答辩ppt、环境工具包、相同框架项目的安装教程(在说明文档中)

上一篇: Nginx反向代理Odoo并转为https
下一篇: Virtualbox下Ubuntu扩展根分区
J_z10
博客等级 码龄11年 88粉丝 16原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值