Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >在docker部署fastapi宝塔里使用nginx反代套上cloudflare获取请求的真实ip - plus studio

在docker部署fastapi宝塔里使用nginx反代套上cloudflare获取请求的真实ip - plus studio

作者头像
plus sign
发布于 2024-04-10 01:52:24
发布于 2024-04-10 01:52:24
4640
举报
文章被收录于专栏:个人博客个人博客

在docker部署fastapi宝塔里使用nginx反代套上cloudflare获取请求的真实ip

背景是这样的,我使用docker部署了一个fastapi部署了一个应用,使用request.client.host获取请求的来源ip,但是获取到的都是172.17.0.1这显然是不是正常的,是docker网络下的ip,所以我们需要在nginx进行设置转发真实ip

首先点击宝塔应用商店,找到nginx,点击右边的设置,在配置修改中,找到http模块中的include luawaf.conf;,在下面添加如下两段代码,重载nginx

12

set_real_ip_from 0.0.0.0/0;real_ip_header X-Forwarded-For;

同时在/www/server/panel/vhost/nginx/proxy/你的网站 这里路径下面能找到一个配置文件,在location /加上

1234567

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_set_header X-Forwarded-Proto $scheme; proxy_pass http://your_fastapi_app;}

在fastapi中,我们将获取ip的代码改成下面这样

1

ip_address = request.headers.get("X-Real-IP") if request.headers.get("X-Real-IP") else (request.headers.get("X-Forwarded-For") if request.headers.get("X-Forwarded-For") else request.client.host)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-4-9,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
OpenHarmony父子组件单项同步使用:@Prop装饰器
@Prop装饰的变量可以和父组件建立单向的同步关系。@Prop装饰的变量是可变的,但是变化不会同步回其父组件。
小帅聊鸿蒙
2025/05/14
910
OpenHarmony父子组件单项同步使用:@Prop装饰器
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 一)
在前文的描述中,我们构建的页面多为静态界面。如果希望构建一个动态的、有交互的界面,就需要引入“状态”的概念。
爱吃土豆丝的打工人
2023/10/15
6210
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 一)
ArkTS-@State组件内状态
@State装饰的变量,或称为状态变量,一旦拥有了状态属性,就和自定义组件的渲染绑定起来。当状态改变时,UI会发生对应的渲染改变。
酒楼
2023/06/27
1K0
【愚公系列】2023年11月 HarmonyOS教学课程 003-ArkTS语言(状态管理)
状态管理是指在应用程序中维护和更新应用程序状态的过程。在一个程序中,可能有很多不同的组件和模块,它们需要共享和相互作用的状态。如果没有一个明确的方式来管理这些状态,就会导致代码混乱、不易维护和难以扩展。
愚公搬代码
2025/06/02
930
【愚公系列】2023年11月 HarmonyOS教学课程 003-ArkTS语言(状态管理)
OpenHarmony父子组件双项同步使用:@Link装饰器
● 当装饰的数据类型为boolean、string、number类型时,可以同步观察到数值的变化,示例请参考 简单类型和类对象类型的@Link 。
小帅聊鸿蒙
2025/05/12
690
OpenHarmony父子组件双项同步使用:@Link装饰器
OpenHarmony后代组件双向同步,跨层级传递:@Provide装饰器和@Consume装饰器
@Provide和@Consume,应用于与后代组件的双向数据同步,应用于状态数据在多个层级之间传递的场景。不同于上文提到的父子组件之间通过命名参数机制传递,@Provide和@Consume摆脱参数传递机制的束缚,实现跨层级传递。
小帅聊鸿蒙
2025/05/14
640
OpenHarmony后代组件双向同步,跨层级传递:@Provide装饰器和@Consume装饰器
OpenHarmony 状态变量更改通知:@Watch 装饰器
@Watch 应用于对状态变量的监听。如果开发者需要关注某个状态变量的值是否改变,可以使用 @Watch 为状态变量设置回调函数。
小帅聊鸿蒙
2025/05/16
650
【HarmonyOS之旅】ArkTS语法(一)
ArkTS通过装饰器@Component和@Entry装饰struct关键字声明的数据结构,构成一个自定义组件。
枫叶丹
2024/12/26
3360
【HarmonyOS之旅】ArkTS语法(一)
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 二)
@Prop装饰的变量可以和父组件建立单向的同步关系。@Prop装饰的变量是可变的,但是变化不会同步回其父组件。
爱吃土豆丝的打工人
2023/10/15
4520
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 二)
OpenHarmony嵌套类对象属性变化:@Observed装饰器和@ObjectLink装饰器
上文所述的装饰器仅能观察到第一层的变化,但是在实际应用开发中,应用会根据开发需要,封装自己的数据模型。对于多层嵌套的情况,比如二维数组,或者数组项class,或者class的属性是class,他们的第二层的属性变化是无法观察到的。这就引出了@Observed/@ObjectLink装饰器。
小帅聊鸿蒙
2025/05/15
880
OpenHarmony嵌套类对象属性变化:@Observed装饰器和@ObjectLink装饰器
HarmonyOS NEXT 实战系列04-组件状态
自定义组件拥有变量,变量必须被装饰器装饰才可以成为状态变量,状态变量的改变会引起UI的渲染刷新。如果不使用状态变量,UI只能在初始化时渲染,后续将不会再刷新。 下图展示了State和View(UI)之间的关系。
用户8181473
2025/03/17
760
CPU都被干冒烟了,拥抱HarmonyOS第二天,自定义组件
自从经历了第一天惨痛的踩坑经历之后,我机智的拉了一个 HarmonyOS app 学习讨论群。虽然目前只有寥寥数人,但个个都是大佬,有点什么问题随便探讨一下我就有灵感了,比我自己一个人蒙头研究确实进度快了许多
用户6901603
2023/12/12
3480
CPU都被干冒烟了,拥抱HarmonyOS第二天,自定义组件
ArkTS-@Prop父子单向同步
@Prop装饰的变量可以和父组件建立单向的同步关系。@Prop装饰的变量是可变的,但是变化不会同步回其父组件。
酒楼
2023/06/27
4240
ArkTS-@Observed装饰器和@ObjectLink装饰器
上文所属的装饰器仅能观察到第一层的变化,但是在实际应用开发中,应用会根据开发需要,封装自己的 数据模型。对于多层嵌套的情况,比如二维数组,或者数组项class,或者class的属性是class,他们的第二层的属性变化是无法观察到的。这就引出了@Observed/@ObjectLink装饰器
酒楼
2023/07/05
8830
ArkTS-@Watch装饰器
@Watch应用于对状态变量的监听。如果开发者需要关注某个状态变量的值是否改变,可以使用@Watch为状态变量设置回调函数。
酒楼
2023/07/05
7090
ArkTS-状态管理概述
在之前的描述中,我们构建的页面多为静态页面。如果希望构建一个动态地,有交互的页面,就需要引入“状态”的概念
酒楼
2023/06/27
6840
ArkTS-状态管理概述
OpenHarmony应用全局的UI状态存储:AppStorage
AppStorage是应用全局的UI状态存储,是和应用的进程绑定的,由UI框架在应用程序启动时创建,为应用程序UI状态属性提供中央存储。
小帅聊鸿蒙
2025/05/15
1550
OpenHarmony应用全局的UI状态存储:AppStorage
ArkTS-@Link装饰器父子双向同步
为了了解@Link变量初始化和更新机制,有必要先了解父组件和拥有@Link变量的子组件的关系,初始渲染和双向更新的流程(以父组件为@State为例)。
酒楼
2023/06/27
6790
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 三)
为了了解@Link变量初始化和更新机制,有必要先了解父组件和拥有@Link变量的子组件的关系,初始渲染和双向更新的流程(以父组件为@State为例)。
爱吃土豆丝的打工人
2023/10/15
4900
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 三)
HarmonyOS 开发实践 —— 基于状态变量实现复杂对象的状态监听
对象在我们开发过程中是很常见的数据类型,我们在进行UI渲染的时候经常会用到对象,这里提供简单对象(所有字段均为基本数据类型)的监听效果。
小帅聊鸿蒙
2024/12/08
1590
HarmonyOS 开发实践 —— 基于状态变量实现复杂对象的状态监听
推荐阅读
相关推荐
OpenHarmony父子组件单项同步使用:@Prop装饰器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档