实际部署Dify可能遇到的问题:忘记密码、开启HTTPS、知识库文档上传的大小限制和数量限制
背景
前面我们以 docker compose
容器化的方式本地部署了 Dify
社区版,并快速体验了其聊天助手、工作量编排以及智能体(Agent)功能。不过后续实际生产环境使用时遇到了忘记密码、如何开启SSL以支持HTTPS、如何突破知识库文档上传的大小限制和数量限制等问题。
遇到的问题
本地部署初始化后,忘记密码、密码错误如何重置?
这个问题官方文档里有写,在服务器上执行以下命令进行密码重置。
docker exec -it docker-api-1 flask reset-password
输入账户 email
以及两次新密码即可。
Note:一开始我并不知道官方文档提供了密码重置的方案,当时的第一想法是使用测试环境的密码覆盖生产环境的密码即可,便有了以下操作。
通过 docker-compose.yaml
以及 docker ps
,我们知道 Dify
用的是 PostgreSQL
数据库,不过默认没有开启远程访问,下面通过命令行来操作 PostgreSQL
数据库。
# 命令行连接PostgreSQL
[root@dify ~]# docker exec -it docker_db_1 /bin/bash
c84995ae10f8:/# psql -U postgres
psql (15.10)
Type "help" for help.# 列出所有数据库
postgres=# \lList of databasesName | Owner | Encoding | Collate | Ctype | ICU Locale | Locale Provider | Access privileges
-----------+----------+----------+------------+------------+------------+-----------------+-----------------------dify | postgres | UTF8 | en_US.utf8 | en_US.utf8 | | libc | postgres | postgres | UTF8 | en_US.utf8 | en_US.utf8 | | libc | template0 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | | libc | =c/postgres +| | | | | | | postgres=CTc/postgrestemplate1 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | | libc | =c/postgres +| | | | | | | postgres=CTc/postgres
(4 rows)# 切换到dify数据库
postgres=# \c dify
You are now connected to database "dify" as user "postgres".# 查看所有数据表
dify=# \dList of relationsSchema | Name | Type | Owner
--------+-----------------------------------+----------+----------public | account_integrates | table | postgrespublic | accounts | table | postgrespublic | alembic_version | table | postgrespublic | api_based_extensions | table | postgrespublic | api_requests | table | postgrespublic | api_tokens | table | postgrespublic | app_annotation_hit_histories | table | postgrespublic | app_annotation_settings | table | postgrespublic | app_dataset_joins | table | postgrespublic | app_model_configs | table | postgrespublic | apps | table | postgrespublic | celery_taskmeta | table | postgrespublic | celery_tasksetmeta | table | postgrespublic | conversations | table | postgrespublic | data_source_api_key_auth_bindings | table | postgrespublic | data_source_oauth_bindings | table | postgrespublic | dataset_collection_bindings | table | postgrespublic | dataset_keyword_tables | table | postgrespublic | dataset_permissions | table | postgrespublic | dataset_process_rules | table | postgrespublic | dataset_queries | table | postgrespublic | dataset_retriever_resources | table | postgrespublic | datasets | table | postgrespublic | dify_setups | table | postgrespublic | document_segments | table | postgrespublic | documents | table | postgrespublic | embeddings | table | postgrespublic | end_users | table | postgrespublic | external_knowledge_apis | table | postgrespublic | external_knowledge_bindings | table | postgrespublic | installed_apps | table | postgrespublic | invitation_codes | table | postgrespublic | invitation_codes_id_seq | sequence | postgrespublic | load_balancing_model_configs | table | postgrespublic | message_agent_thoughts | table | postgrespublic | message_annotations | table | postgrespublic | message_chains | table | postgrespublic | message_feedbacks | table | postgrespublic | message_files | table | postgrespublic | messages | table | postgrespublic | operation_logs | table | postgrespublic | pinned_conversations | table | postgrespublic | provider_model_settings | table | postgrespublic | provider_models | table | postgrespublic | provider_orders | table | postgrespublic | providers | table | postgrespublic | recommended_apps | table | postgrespublic | saved_messages | table | postgrespublic | sites | table | postgrespublic | tag_bindings | table | postgrespublic | tags | table | postgrespublic | task_id_sequence | sequence | postgrespublic | taskset_id_sequence | sequence | postgrespublic | tenant_account_joins | table | postgrespublic | tenant_default_models | table | postgrespublic | tenant_preferred_model_providers | table | postgrespublic | tenants | table | postgrespublic | tidb_auth_bindings | table | postgrespublic | tool_api_providers | table | postgrespublic | tool_builtin_providers | table | postgrespublic | tool_conversation_variables | table | postgrespublic | tool_files | table | postgrespublic | tool_label_bindings | table | postgrespublic | tool_model_invokes | table | postgrespublic | tool_providers | table | postgrespublic | tool_published_apps | table | postgrespublic | tool_workflow_providers | table | postgrespublic | trace_app_config | table | postgrespublic | upload_files | table | postgrespublic | whitelists | table | postgrespublic | workflow_app_logs | table | postgrespublic | workflow_conversation_variables | table | postgrespublic | workflow_node_executions | table | postgrespublic | workflow_runs | table | postgrespublic | workflows | table | postgres
(75 rows)# 查看账户表
dify=# \d accountsTable "public.accounts"Column | Type | Collation | Nullable | Default
--------------------+-----------------------------+-----------+----------+-----------------------------id | uuid | | not null | uuid_generate_v4()name | character varying(255) | | not null | email | character varying(255) | | not null | password | character varying(255) | | | password_salt | character varying(255) | | | avatar | character varying(255) | | | interface_language | character varying(255) | | | interface_theme | character varying(255) | | | timezone | character varying(255) | | | last_login_at | timestamp without time zone | | | last_login_ip | character varying(255) | | | status | character varying(16) | | not null | 'active'::character varyinginitialized_at | timestamp without time zone | | | created_at | timestamp without time zone | | not null | CURRENT_TIMESTAMP(0)updated_at | timestamp without time zone | | not null | CURRENT_TIMESTAMP(0)last_active_at | timestamp without time zone | | not null | CURRENT_TIMESTAMP(0)
Indexes:"account_pkey" PRIMARY KEY, btree (id)"account_email_idx" btree (email)# 查询所有用户记录
dify=# select * from accounts;id | name | email | password | password_salt | avatar | interface_language | interface_theme | timezone | last_login_at | last_login_ip | status | initialized_at | created_at | updated_at | last_active_at
--------------------------------------+-------+-------------------+------------------------------------------------------------------------------------------+--------------------------+--------+--------------------+-----------------+------------------+----------------------------+----------------+--------+----------------------------+---------------------+---------------------+--------------------------78837d37-83d0-4e21-88c0-25de52df8ee0 | Admin | you-guess@qq.com | OTYyYjZmNWFlMWI2MzIyZTU3ZWMyMjNmOGEzY2E0OTkwYmYxMzNmN2MzMTM2M2IyMzZlM2M0MDQyOTAyM2E1MQ== | 4bGygMJ7I7w6CLVXpEeRrA== | | en-US | light | America/New_York | 2024-12-07 08:24:27.715579 | 192.168.27.200 | active | 2024-12-07 08:24:06.685263 | 2024-12-07 08:24:07 | 2024-12-07 08:24:07 | 2024-12-22 08:00:40.2632
(1 row)
可以看到密码密文和盐值信息。接着使用一个已知密码的密文和盐值更新到 accounts
表;
从测试环境服务器上导出了 SQL
的 Insert
语句。
pg_dump -d dify -U postgres --column-inserts -t accounts -f /opt/accounts.sql
UPDATE public.accounts SET password='YmFjYWMwYWFkNTU2MDlmMmViNTZhNTc3N2JjZDBjMDk4ZWVmNjRjYjA2MGU4MzQ0YTZjNzViNjVhYzAyMzZhYg==', password_salt='j13XCIHXI4N2AK4yIJuggQ==' WHERE id='78837d37-83d0-4e21-88c0-25de52df8ee0';
改了密码密文和盐值后,依然登不上?
经过上述密码密文和盐值信息的替换后,还是没登上,不过错误信息是密码错误次数超限(默认锁定24小时)。这是因为当时忘记密码后,尝试了多次导致密码锁定。考虑到 Dify
用了 Redis
,而且一版这种密码次数错误限制我们也是通过 Redis
来实现,这里推测是 Redis
中有个用户被锁定的待超时时间的 Key
。直接打开 Dify
源码查看,果然~
找见了原因,直接连上 Redis
,删除这个 Key
即可。
[root@dify opt]# docker exec -it docker_redis_1 sh
/data # redis-cli
127.0.0.1:6379> keys *
1) "refresh_token:7d177d5971609013a2c8a5634ce49de1d488332bb5961d8d69ce1a371a3abdeac65d9010df7a6f1e7c73508cbd6733e0c27e2235999ca593192919678ab688b4"
2) "reset_password:account:78837d37-83d0-4e21-88c0-25de52df8ee0"
3) "account_refresh_token:78837d37-83d0-4e21-88c0-25de52df8ee0"
4) "login_error_rate_limit:you-guess@qq.com"# 查看过期时间,大概还剩23个多小时。。
127.0.0.1:6379> ttl login_error_rate_limit:you-guess@qq.com
(integer) 85202# 删除这个Key
127.0.0.1:6379> del login_error_rate_limit:you-guess@qq.com
(integer) 1
之后即可成功登录~~
本地部署80端口被占用应该如何解决?
一般的服务器上会有其他服务占用 80
端口,这时需要修改 .env
文件,指定 Nginx
暴露的端口。
# 编辑.env文件
EXPOSE_NGINX_PORT=9080
EXPOSE_NGINX_SSL_PORT=9443
如何开启SSL以支持HTTPS?
- 同样是编辑
.env
文件,配置NGINX_HTTPS_ENABLED=true
开启HTTPS
; - 此外,还需要将证书文件放到
dify-main/docker/nginx/ssl
目录下,记得命名为dify.crt
与dify.key
; - 然后
docker-compose down
停止服务,最后启动服务docker-compose up -d
生效。
NGINX_HTTPS_ENABLED=true
Note:
- 具体SSL的配置是参考docker-compose.yaml里面的环境变量得到的;
- 关于如何自签证书,参考:自签SSL证书配置Nginx代理Vue+SpringBoot前后端分离服务。
如何解决知识库文档上传的大小限制和数量限制?
同样是编辑 .env
文件, Dify
知识库文档上传单个文档最大是 15MB
,总文档数量限制 100
个。本地部署的社区版本可根据需要调整修改该限制。
# 上传文件大小限制,默认15M。
UPLOAD_FILE_SIZE_LIMIT=50M# 每次上传文件数上限,默认5个。
UPLOAD_FILE_BATCH_LIMIT=10
小总结
本文主要介绍了 Dify
本地部署后遇到的几个常见问题及其解决方案:首先是忘记密码的处理,可以通过官方提供的 flask reset-password
命令重置,或者直接操作 PostgreSQL
数据库修改密码信息;其次是密码错误次数超限导致账户锁定的问题,可以通过删除 Redis
中对应的限制 Key
来解决;再次是端口占用和 HTTPS
配置问题,可以通过修改 .env
文件中的 EXPOSE_NGINX_PORT
和 NGINX_HTTPS_ENABLED
等配置来解决;最后介绍了如何通过调整 .env
文件中的 UPLOAD_FILE_SIZE_LIMIT
和 UPLOAD_FILE_BATCH_LIMIT
参数来突破知识库文档上传的大小限制和数量限制。
Reference
- https://docs.dify.ai/zh-hans
If you have any questions or any bugs are found, please feel free to contact me.
Your comments and suggestions are welcome!
相关文章:
实际部署Dify可能遇到的问题:忘记密码、开启HTTPS、知识库文档上传的大小限制和数量限制
背景 前面我们以 docker compose 容器化的方式本地部署了 Dify 社区版,并快速体验了其聊天助手、工作量编排以及智能体(Agent)功能。不过后续实际生产环境使用时遇到了忘记密码、如何开启SSL以支持HTTPS、如何突破知识库文档上传的大小限制和…...
【C语言】库函数常见的陷阱与缺陷(三):内存分配函数[4]--free
C语言中的free函数用于释放之前通过malloc、calloc或realloc动态分配的内存。然而,在使用free函数时,开发者可能会遇到一些陷阱和缺陷。 一、功能与用法 free 函数是 C 语言中用于释放动态分配内存的关键函数。在程序使用 malloc、calloc 或 realloc 等函数在堆上分配了内存…...
【TypeScript篇】TypeScript命令行编译和自动化编译
目录 1. 命令行编译 步骤一:创建一个demo.ts文件 步骤二:全局安装TypeScript 步骤三:使用命令编译.ts文件 2. 自动化编译 步骤一:生成编译控制文件 步骤二:开启监视 3. 自动化编译的一些其它问题 1. 命令行编译…...
电子应用设计方案78:智能窗户系统设计
智能窗户系统设计 一、引言 智能窗户系统旨在为用户提供更便捷、舒适和节能的窗户控制体验,同时增强家居的安全性和智能化程度。 二、系统概述 1. 系统目标 - 实现窗户的自动开关控制,根据环境条件和用户设定进行操作。 - 具备风雨感应功能,…...
数据挖掘笔记 | 插值 | 拉格朗日插值 | 龙格现象 | 埃尔米特插值 | 分段三次埃尔米特插值
Interpolation插值 对于缺失值的处理,比较常见的是数值分析中的插值和拟合这两种方法。插值指的是在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点;拟合则是找到一条“最优”的曲线,尽可能地贴近平…...
Ubuntu网络配置(桥接模式, nat模式, host主机模式)
windows上安装了vmware虚拟机, vmware虚拟机上运行着ubuntu系统。windows与虚拟机可以通过三种方式进行通信。分别是桥接模式;nat模式;host模式 一、桥接模式 所谓桥接模式,也就是虚拟机与宿主机处于同一个网段, 宿主机…...
【Linux网络编程】第十七弹---深入理解以太网与ARP协议:从帧格式到数据报解析
✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】【Linux网络编程】 目录 1、认识以太网 1.1、以太网帧格式 1.2、认识 MAC 地址 1.3、对比理解 MAC 地址和 IP 地址 1.4、认识 MT…...
AVL 树
1.AVL树的概念 AVL树是最先发明的自平衡二叉查找树,AVL树可以是一棵空树,或者具有以下性质的树:左右子树都是AVL树。且左右子树的高度差的绝对值不超过1。 AVL树是一颗高度平衡搜索二叉树,通过控制高度去控制平衡。 AVL树的发明…...
PHP关键字Self、Static和parent的区别
简介 在使用PHP代码时,您可能经常会遇到parent::、static::和self::。但是当你第一次作为一个开发人员开始的时候,有时候你会很困惑,不知道它们是做什么的,以及它们之间的区别。 在我第一次作为开发人员开始工作后的很长一段时间…...
Vscode左大括号不另起一行、注释自动换行
参考大佬的博客VSCode 格式化 cpp 文件时配置左大括号不换行_vscode大括号不换行-CSDN博客 Clang_format_style {BasedOnStyle: Chromium, IndentWidth: 4}...
golang标准库archive/tar实现打包压缩及解压
文章目录 前言一、单个文件操作1.单个文件打包示例2.单个文件解包示例 二、目录示例1.打包压缩2.解包 补充 前言 这个包就是将文件进行打包和解包,通俗理解就是Linux 下的 tar 命令。 主要是通过 tar.Reader 读取 tar 包,通过 tar.Writer 写入 tar包&am…...
模方匀色功能中,加载的模板文件从哪里来
使用 DasViewerV3.1.2及以上版本导出的颜色调整文件 模方是一款针对实景三维模型的冗余碎片、水面残缺、道路不平、标牌破损、纹理拉伸模糊等共性问题研发的实景三维模型修复编辑软件。模方4.2新增内置“自动UV展开”功能,新增局部调色功能和DOM匀色功能等。同时可与…...
maya 删除 Ctrl + Delete vs Delete
在 Autodesk Maya 中删除选定顶点的步骤: 1. 选择顶点: 进入顶点选择模式: 按 F9 键(切换到顶点选择模式)。 或者,在工具栏中点击顶点选择图标(顶点模式)。 在视图中选择您想要删…...
为何String不可变,String的运算符重载
1.为何String不可变 java9之前,String的源码中是用字符数组实现的,同时使用了final和private修饰,被final修饰的结果就是变量不可修改、类不可继承、方法不可重写,被private修饰就无法对外暴露,这就是为何String不可变…...
WebRTC :原理、协议和应用场景
WebRTC(Web Real-Time Communication)是一种用于在Web浏览器和移动应用程序之间进行实时通信的开放标准。它通过将音频、视频和数据传输集成到Web浏览器中,使得实时通信变得简单且无需任何插件或第三方软件。 一、WebRTC 的原理 WebRTC的实…...
Windows FTP服务器搭建指南
在Windows上搭建FTP服务器可以通过以下步骤完成。这里以Windows 10为例,使用系统自带的IIS(Internet Information Services)来搭建FTP服务器。 步骤1:安装IIS和FTP服务器组件 打开“控制面板”: 按 Win R,…...
DP协议:Link层(二)
书接上文,内容多了难免会有一种知识点零碎感,但是坚持学下去,有一天你会发现已经不知不觉可以链接成一张知识网络了。 AUX提供的services 前面咱刚刚简单的认识了AUX CH的状态和仲裁,这次咱们接着聊聊AUX提供的services。 管理连接和设备:AUX CH就像是一个管家,负责找到…...
HAL 库 HAL_UARTEx_ReceiveToIdle_IT 函数解析
一、存在位置:stm32f1xx_hal_uart.c 二、具体代码 二、返回值:HAL_StatusTypeDef 通过查看返回值HAL_StatusTypeDef在stm32f1xx_hal_edf.h文件中定义为结构体类型。 status:(进展的)状况,情形 三、函数名…...
C++ 设计模式:职责链模式(Chain of Responsibility)
链接:C 设计模式 链接:C 设计模式 - 组合模式 职责链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它允许多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合。这些对象通过…...
数据库约束和查询
一 约束意义 这个后面的字段是什么意思呢? 先前说数据类型是一种约束,约束我们只能放该类型的数据,还有其它的约束来保证数据的合法性,下面的字段就和约束有关。 编译器的编译就是一个约束,保证我们的代码一定是语法合格的。我们…...
【文献精读笔记】Explainability for Large Language Models: A Survey (大语言模型的可解释性综述)(二)
****非斜体正文为原文献内容(也包含笔者的补充),灰色块中是对文章细节的进一步详细解释! 3.1.2 基于注意力的解释(Attention-Based Explanation) 注意力机制可以揭示输入数据中各个部分之间的关系&#…...
AI大模型-提示工程学笔记1
卷首语:我所知的是我自己非常无知,所以我要不断学习。 写给AI入行比较晚的小白们(比如我自己)看的,大神可以直接路过无视了。 几个基本概念 1. 给LLM提示 用户可以通过简单的提示词(Prompts)…...
webrtc-internals调试工具
Google 的 Chrome(87 或更高版本)WebRTC 内部工具是一套内置于 Chrome 浏览器中的调试工具; webrtc-internals 能够查看有关视频和音频轨道、使用的编解码器以及流的一般质量的详细信息。这些知识对于解决音频和视频质量差的问题非常有帮助。 webrtc-int…...
百度PaddleSpeech识别大音频文件报错
一、背景 公司前同事留下了一套语音识别项目,内部使用百度PaddleSpeech。在项目验收的时候发现无法识别大音频文件,但是可以识别小音频文件。 这套项目是通过python调用的百度PaddleSpeech,然后提供了restful接口,然后java项目可…...
No.3十六届蓝桥杯备战|数据类型长度|sizeof|typedef|练习(C++)
数据类型⻓度 每⼀种数据类型都有⾃⼰的⻓度,使⽤不同的数据类型,能够创建出⻓度不同的变量,变量⻓度的不同,存储的数据范围就有所差异。 sizeof操作符 sizeof 是⼀个关键字,也是操作符,专⻔是⽤来计算特…...
MapReduce相关概念(自用)
MapReduce:分布式计算模型 MapReduce 是一种分布式计算模型,由 Google 在 2004 年提出,用于大规模数据集(TB 或 PB 级别)的分布式处理。它通过简单的编程模型,将复杂的分布式计算分解为两个基本阶段&#…...
Nginx - 整合lua 实现对POST请求的参数拦截校验(不使用Openresty)
文章目录 概述步骤 1: 安装 Nginx 和 Lua 模块步骤 2: 创建 Lua 脚本用于参数校验步骤 3: 配置 Nginx 使用 Lua 脚本写法二: 状态码写法三 : 返回自定义JSON复杂的正则校验 步骤 4: 测试和验证ngx.HTTP_* 枚举值 概述 一个不使用 OpenResty 的 Nginx 集…...
I2C(一):存储器模式:stm32作为主机对AT24C02写读数据
存储器模式:在HAL库中,I2C有专门对存储器外设设置的库函数 I2C(一):存储器模式的使用 1、I2C轮询式写读AT24C02一页数据2、I2C轮询式写读AT24C02多页数据3、I2C中断式写读AT24C02一页数据4、I2C使用DMA式写读AT24C02一…...
AI助手网站
chatgpt :https://chatgpt.com/ https://openai.com/index/chatgpt/ 百度ai助手 https://chat.baidu.com/ 百度AI助手https://chat.baidu.com/ 文心快码 文心快码BaiduComate 文心快码BaiduComate 文心快码BaiduComate有代码问题,问文…...
初始nginx
华子目录 nginx介绍nginx功能介绍基础特性web服务相关功能nginx进程结构web请求处理机制 nginx进程间通信nginx启动与http连接建立http处理过程 nginx模块介绍nginx命令演示 nginx介绍 nginx是免费的、开源的、高性能的HTTP和反向代理服务器、邮件代理服务器、以及TCP/UDP代理服…...
可扩展性设计架构模式——事件驱动架构
事件驱动架构(Event-Driven Architecture, EDA)是一种可扩展性设计软件架构模式,它通过事件来触发和通信(以事件为核心),实现不同系统组件之间的解耦(促进应用程序或系统部件之间的松耦合通信&a…...
Prometheus 专栏 —— Prometheus安装、配置
配置文件基本结构 global: 全局配置 scrape_interval: 抓取目标指标的频率,默认为 1minevaluation_interval: 评估告警规则的频率,默认为 1minscrape_timeout: 抓取目标指标数据拉取超时,默认为 10s,如果出现 context deadline e…...
Java并发编程面试题:线程池Fork/Join(19题)
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…...
【每日学点鸿蒙知识】WebView代理、2D绘制矩形圆角、TextInput清理按钮、pdf滑动、icon配置问题
1、HarmonyOS Webview 支持设置代理功能吗? 使用Web的onInterceptRequest先拦截再代理来实现。具体可以参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-web-V5#ZH-CN_TOPIC_0000001930757269__on…...
抽奖系统(1)(Java 实现)
1. 需求描述 1. 包含管理员的注册与登录 1) 注册包含:姓名、邮箱、手机号、密码 2) 登录包含两种方式 (1) 电话 密码登录 (2) 电话 短信登录;验证码获取 (3) 登录需要校验管理员身份 2. 人员管理:管理员支持创建普通用户,查看…...
数据库系统原理复习汇总
数据库系统原理复习汇总 一、数据库系统原理重点内容提纲 题型:主观题 1、简答题 第一章:数据库的基本概念:数据库、数据库管理系统、三级模式;两级映像、外码 第二章:什么是自然连接、等值连接; 第三…...
基于16QAM的载波同步和定时同步性能仿真,采用四倍采样,包括Costas环和gardner环
目录 1.算法仿真效果 2.算法涉及理论知识概要 3.MATLAB核心程序 4.完整算法代码文件获得 1.算法仿真效果 matlab2022a仿真结果如下(完整代码运行后无水印): 仿真操作步骤可参考程序配套的操作视频。 2.算法涉及理论知识概要 载波同步是…...
鸿蒙next RCP网络请求工具类进阶版来了
前言: 各位同学大家好,有一段时间没有更新文章了,最近因为鸿蒙官方的网络请求换掉了了rcp 之前是使用http 这些都是原生开发的 当然有那种三方大家熟知的 axios (这个也是基于http 后面也会过时)所以大家还是要了解一下rcp的原生的网络请求的。那么我们…...
driftingblues6_vh靶机
首先把靶机换成NAT模式 使用 arp-scan 命令扫描网段内存活的主机,以获取靶机ip地址 arp-scn -l 尝试访问ip 使用御剑扫描子域名,尝试访问robots.txt文件 通过访问文件我们发现了一个/textpattern/textpattern目录 访问一下目录发现了登录页面 他还给了…...
Go语言入门
文章目录 零、Linux下Go的安装1.下载、解压2.添加环境变量3.验证安装4.初始化Go模块(1)cd到项目目录(2)初始化模块(3)获取依赖包(4)清理和验证依赖(5)检查 go.mod 文件(6)介绍 go.mod 和 go.sum 文件 5.项目目录结构 一、感性认识1.从 Hello world 开始2.加法函数 二、Go语法1.…...
VS Code中怎样查看某分支的提交历史记录
VsCode中无法直接查看某分支的提交记录,需借助插件才行,常见的插件如果git history只能查看某页面的改动记录,无法查看某分支的整体提交记录,我们可以安装GIT Graph插件来解决这个问题 1.在 VSCode的插件库中搜索 GIT Graph安装&a…...
【杂谈】-AI搜索引擎如何改变传统SEO及其在内容营销中的作用
AI搜索引擎如何改变传统SEO及其在内容营销中的作用 文章目录 AI搜索引擎如何改变传统SEO及其在内容营销中的作用1、什么是AI搜索引擎2、AI搜索引擎对SEO策略的影响3、AI搜索引擎在内容营销转型中的作用4、AI搜索引擎在营销领域的挑战、道德问题和未来5、总结 在当今的数字营销世…...
快速掌握Haproxy原理架构
文章目录 一、原理架构二、无负载均衡三、四层负载均衡的工作流程四、七层负载均衡工作流程五、基础属性mode 属性retries 属性maxconn 属性clitimeout 属性servtimeout 属性states uri 属性 一、原理架构 四层tcp代理:Haproxy仅在客户端和服务器之间双向转发流量&…...
Java中以某字符串开头且忽略大小写字母如何实现【正则表达式(Regex)】
第一种思路是先将它们都转换为小写或大写,再使用String类的startsWith()方法实现: 例如,如下的二个示例: "Session".toLowerCase().startsWith("sEsSi".toLowerCase()); //例子之一//例子之二String str "Hello Wo…...
如何提高Redis服务器的最大打开文件数限制
文章目录 如何提高Redis服务器的最大打开文件数限制问题诊断解决步骤1. 修改系统级别的限制2. 为Redis进程特别设置限制3. 修改Redis配置文件4. 修改systemd服务文件5. 重新加载systemd并重启Redis6. 验证更改 注意事项 如何提高Redis服务器的最大打开文件数限制 在运行高并发…...
React 组件通信完整指南 以及 自定义事件发布订阅系统
React 组件通信完整指南 1. 父子组件通信 1.1 父组件向子组件传递数据 // 父组件 function ParentComponent() {const [data, setData] useState(Hello from parent);return <ChildComponent message{data} />; }// 子组件 function ChildComponent({ message }) {re…...
代码随想录算法【Day5\Day6】
DAY5\Day6 1.熟悉哈希表的数据结构:数组、map和set,使用方法、使用场景 2.哈希表应用场景:解决给你一个元素,判断它在集合里是否出现过。 242.有效的字母异位词 本题用数组解决的。 class Solution { public:bool isAnagram(…...
Oracle 数据库执行计划的查看与分析技巧
目录 Oracle 数据库执行计划的查看与分析技巧一、什么是执行计划二、查看执行计划的方法(一)使用 EXPLAIN PLAN 命令(二)通过 SQL Developer 工具查看(三)启用 AUTOTRACE 功能 三、执行计划中的关键信息解读…...
VMD-SSA-BiLSTM、VMD-BiLSTM、BiLSTM时间序列预测对比
VMD-SSA-BiLSTM、VMD-BiLSTM、BiLSTM时间序列预测对比 目录 VMD-SSA-BiLSTM、VMD-BiLSTM、BiLSTM时间序列预测对比预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.MATLAB实现VMD-SSA-BiLSTM、VMD-BiLSTM、BiLSTM时间序列预测对比; 2.单变量时间序列预测 就是先vmd把变…...
QGIS二次开发(地图符号库操作)
实习三 地图符号库操作 3.1 任务要求 基于QGIS,实现地图符号的设计/存储与显示;基于QGIS实现一个点、线、面shp矢量图层文件的显示。通过设置引用的符号,改变矢量图层的显示效果;可编辑地图的符号库汇中的点符号、线符号、面符号…...