在使用腾讯云 EdgeOne 海外节点加速海外业务时,很多开发者会遇到一个核心问题:Nginx 日志中记录的是 EdgeOne 节点 IP 而非用户真实 IP,导致无法进行用户行为分析、地域统计和异常访问拦截。本文将从「问题原理」「手动配置」「自动化更新」「故障排查」四个维度,提供一套适配 Nginx + 宝塔面板的完整解决方案,新手也能快速上手。
一、核心原理:为什么需要特殊配置?当用户访问经过 EdgeOne 加速的网站时,请求会先经过 EdgeOne 海外节点(反向代理),再由节点转发到源站 Nginx。此时 Nginx 会默认将「直接连接的客户端 IP」(即 EdgeOne 节点 IP)识别为用户 IP,而非真实的用户公网 IP。
解决思路的核心是「信任代理」:
EdgeOne 节点会在转发请求时,通过 X-Forwarded-For 头携带用户真实 IP(格式:用户真实IP, 节点IP1, 节点IP2);
配置 Nginx 信任所有 EdgeOne 节点 IP,让 Nginx 从 X-Forwarded-For 头中自动跳过节点 IP,提取最原始的用户真实 IP。
关键 ...
学习心得
未读首部/的作用加/ 是根路径相对定位,不加/ 是当前路径相对定位,最终指向的 URL 会完全不同
1. 加 /:从网站根目录开始找href=”/xxx” 中的 / 代表网站的根目录(比如 https://www.example.com/) ,不管当前页面在哪个层级,都会从根目录出发拼接路径。示例:
网站根目录:https://www.example.com/
当前页面 URL:https://www.example.com/a/b/c.html
href=”/about” → 最终指向:https://www.example.com/about
href=”/static/css/style.css” → 最终指向:https://www.example.com/static/css/style.css
2. 不加 /:从当前页面所在目录开始找href=”xxx” 是相对于当前页面的 URL 路径拼接,相当于 “在当前文件夹里找目标资源”。示例(和上面同个网站、同个当前页面):
当前页面 URL:https://www.example.com/a/b/c.html (当前目录是 / ...
学习心得
未读本文整理了 Linux 系统中文件操作、权限管理、系统监控、网络操作等高频命令,覆盖新手入门到日常运维场景,格式清晰可直接查阅。
一、文件与目录操作命令(最基础高频)1. ls - 列出目录内容功能:列出指定目录下的文件 / 目录,默认列出当前目录。核心参数:
-l(长格式):显示文件权限、所有者、大小、修改时间等详细信息。
-a(all):显示所有文件(含隐藏文件,以.开头)。
-h(human-readable):以人类可读格式显示文件大小(如 KB、MB)。
-r(reverse):反向排序(默认按字母升序)。
-t(time):按修改时间排序(最新在前)。
示例:ls -lha # 长格式显示当前目录所有文件,含隐藏文件,大小人性化显示ls /home/user # 列出指定目录/home/user下的内容
2. cd - 切换工作目录功能:切换当前终端的工作目录。核心用法:
cd 目录路径:切换到指定目录(绝对路径 / 相对路径)。
cd ~ 或 cd:切换到当前用户的家目录(如/home/ubuntu)。
cd ..:切换到上级目录。
cd -:切换到上一次所在的 ...
学习笔记
未读MySQL学习笔记
名称
全称
简称
数据库
存储数据的仓库,数据是有组织的进行存储
DataBase (DB)
数据库管理系统
操纵和管理数据库的大型软件
DataBase Management System (DBMS)
SQL
操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准
Structured Query Language (SQL)
net start mysql80 //启动mysqlnet stop mysql80 //停止mysqlmysql -h ip -P 端口 -u 用户名 -p 密码 //连接mysql
SQLSQL通用语法
SQL语句可以单行或者多行书写,以分号结尾
SQL语句可以使用空格/缩进来增强语句的可读性
MySQL数据的SQl语句不区分大小写,关键词建议用大写
注释:
单行注释:— 或者#(MySQL独有)
多行注释:/ /
SQL分类
分类
全称
说明
DDL
Data Definition Language
数据定义语言,用来定义数据库对象(数据库, ...
学习心得
未读数据库管理技术的基本概念
数据
信息
数据处理
数据库管理技术的发展阶段
人工管理
文件系统
数据库系统
大数据
数据库系统的组成
硬件系统
操作系统
.数据库
数据库管理系统
数据库应用系统的开发工具及相关接口软件
数据库应用系统
用户
数据库管理员
数据库分析师
应用程序员
终端用户
数据库体系结构
集中式系统
分布式系统
个人计算机系统
客户/服务器系统
浏览器/服务器系统
数据库的三级模式
内模式
模式
外模式
数据库的二级映像
外模式/模式
模式/内模式
数据库管理系统的功能
数据定义
数据操控
数据库运行控制
数据字典
登录方式
windows登录,本地登录
sqlserver登录,远程登录
数据库备份mdf数据文件,ldf日志文件
分离->附加 分离后数据库会不可用
备份->还原 保存为.bak文件 任务——>备份
数据库脚本
注释单行注释 —多行注释 / /
数据库相关创建数据库完整语法
create database DBTESTon --数据文件( name = 'DBTEST ...
学习心得
未读当执行 git push -u origin master 时遇到类似以下错误:
error: failed to push some refs to 'http://xxxx.cn/vip/xxx.git'To http://xxxx.cn/vip/xxx.git! refs/heads/master:refs/heads/master [rejected] (fetch first)Donehint: Updates were rejected because the remote contains work that you do nothint: have locally. This is usually caused by another repository pushing tohint: the same ref. If you want to integrate the remote changes, usehint: 'git pull' before pushing again.
或简化版错误:[rejected] mas ...
参考正则表达式 – 教程 | 菜鸟教程
1.什么是正则表达式?正则表达式(Regular Expression,简称 Regex 或 RegExp)是一种用来匹配字符串中字符组合的模式。
简单来说就是一种匹配内容的模板。
2.正则表达式的作用
查找: 在文本中找到特定模式的内容
替换: 将符合某种模式的文本替换为其他内容
验证: 检查输入的数据是否符合预期格式
提取: 从复杂文本中提取需要的信息
3.正则表达式的模式
字面值字符:例如字母、数字、空格等,可以直接匹配它们自身。
特殊字符:例如点号 .、星号 *、加号 +、问号 ? 等,它们具有特殊的含义和功能。
字符类:用方括号 [ ] 包围的字符集合,用于匹配方括号内的任意一个字符。
元字符:例如 \d、\w、\s 等,用于匹配特定类型的字符,如数字、字母、空白字符等。
量词:例如 {n}、{n,}、{n,m} 等,用于指定匹配的次数或范围。
边界符号:例如 ^、$、\b、\B 等,用于匹配字符串的开头、结尾或单词边界位置。
4.正则表达式元字符和特性字符匹配
普通字符:普通字符按照字面意义进行匹配,例如匹配字母 “a” 将匹 ...
Maven介绍Maven 是一个 项目管理与构建自动化工具
Maven 解决了软件构建的两方面问题:
一是软件是如何构建的。
二是软件的依赖关系。
Maven 的核心功能包括:
项目构建(编译、测试、打包、部署)
依赖管理(自动下载和管理第三方库)
标准化项目结构(约定优于配置)
插件扩展(支持自定义构建流程)
优势:
减少配置:约定优于配置,减少 build.xml(Ant)这样的手动配置。
依赖自动管理:只需声明依赖,Maven 自动下载并处理冲突。
跨平台:基于 Java,可在 Windows、Linux、macOS 上运行。
与 IDE 集成:Eclipse、IntelliJ IDEA、VS Code 都支持 Maven。
Maven 下载Maven 下载地址:http://maven.apache.org/download.cgi
不同平台下载对应的包:
系统
包名
Windows
apache-maven-3.3.9-bin.zip
Linux
apache-maven-3.3.9-bin.tar.gz
Mac
apache-maven- ...
学习笔记
未读Tomcat
Web服务器通常由硬件和软件共同构成。
硬件:电脑,提供服务供其它客户电脑访问
软件:电脑上安装的服务器软件,安装后能提供服务给网络中的其他计算机,将本地文件映射成一个虚拟的url地址供网络中的其他人访问。
处理dos窗口日志中文乱码问题:修改conf/logging.properties,ConsoleHandler.encoding的UTF-8修改为GBK。
conf/server.xml:配置整个服务器信息。例如修改端口号。默认HTTP请求的端口号是:8080;
webapps:存放web项目的目录,其中每个文件夹都是一个项目;如果这个目录下已经存在了目录,那么都是tomcat自带的项目。其中ROOT是一个特殊的项目,在地址栏中访问:http://127.0.0.1:8080,没有给出项目目录时,对应的就是ROOT项目 http://localhost:8080/examples,进入示例项目。其中examples"就是项目名,即文件夹的名字。
WEB项目的标准结构static 非必要目录,约定俗成的名字,一般在此处放静态资源 ( css js i ...
Java学习笔记Java概述Java是由Sun Microststems 公司于1995年5月推出的面向对象的程序设计语言,作者 詹姆斯•高斯林。
Java技术体系平台
Java SE 标准版
Java EE 企业版 主要学习这个
Java ME 小型版
Java重要特点
语言简单
面向对象 oop
分布式
语言健壮
安全
体系结构中立
可移植
跨平台
解释型语言 需要解释器
高性能
动态
Java虚拟机 JVM用于在不同的设备上运行.class字节码文件,屏蔽系统差异
JDK、JREJDK java开发工具包 Java Development Kit 开发者用
JDK=JRE+java开发工具
JRE java运行环境 Java Runtime Environment 普通用户用
JRE=JVM+Java核心类库
注意事项
文件名必须与public类名一致
一个源文件中最多只能有一个public类
编译之后每一个类对应一个.class文件
Java语言严格区分大小写
每个语句以 “;” 结束
java 命令之后跟类名
main 方法就是 Java 程序的唯一 ...


