首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >HTTPS 回源协议配置错误触发 525:腾讯云 EO 服务排障实录与 Nginx 优化

HTTPS 回源协议配置错误触发 525:腾讯云 EO 服务排障实录与 Nginx 优化

作者头像
烟雨平生
发布2025-06-09 12:31:53
发布2025-06-09 12:31:53
50030
代码可运行
举报
文章被收录于专栏:数字化之路数字化之路
运行总次数:0
代码可运行

先讲下解决办法:在腾讯云域名管理中将回源协议修改为 HTTP。

原因是域名www.ai-as.cn报错525是因为您使用https访问,因为没有命中EO节点缓存,需要回源,但是您的源站没有证书不支持https协议所以报错。

的数字化之路

格物致知 知行合一 记录开悟时的小欢喜 也希望能通过这种方式正向反馈社区

184篇原创内容

公众号

下面来复盘解决问题的过程。

网站打不开了:

图片
图片

这该如何是好!

这个域名使用了腾讯云的边缘安全加速平台 EO。刚上EO时,还是ok的。

吐个槽,腾讯云的交互做的没有阿里云的易用。不能多个域名共用一个流量包,贵!

问题还是要解决。先提个工单问下

工单给讲明白了525是怎么回事:

图片
图片

HTTP 525 含义:EdgeOne 自定义的状态码。若回源协议为 HTTPS,则节点回源时需要与源站进行 SSL 握手,若握手失败,则节点响应客户端 525 状态码。 可能的原因及解决思路: 请检查是否域名回源协议配置为 HTTPS,但源站没有部署证书。若是,可在域名管理处将回源协议修改为 HTTP,或者在源站部署对应域名的证书。 节点和源站 SSL 握手时由于网络原因出现丢包。 https://cloud.tencent.com/document/product/1552/112498#4569351a-30ff-4dcf-b3b6-5710fe039a72

报错的原因:

“您好经过核实这里的您的www.ai-as.cn,最近6个小时,有三条日志,除去这里的测试日志,还有俩个海外请求,这里看日志都是tcp握手创建连接报错了,这里您设置的是60秒,时间上在三秒左右就已经中断了连接,这里是您源站主动关闭了我们的链接。”

但这个原因不好查。

第一,刚开始是好的,后面也动过。

第二,服务只部署了一个nginx静态页面。

访问nginx服务的index.html怎么可能超时呢?

继续追问。

另一个工程师在工单中给一个解决方案:

“域名www.ai-as.cn报错525是因为您使用https访问,因为没有命中EO节点缓存,需要回源,但是您的源站没有证书不支持https协议所以报错,辛苦您看下您域名www.ai-as.cn的回源协议是否为https或协议跟随,您可以在域名管理处将回源协议修改为 HTTP,或者在源站部署对应域名的证书”

图片
图片
图片
图片
图片
图片
图片
图片
图片
图片

小结:

出现问题时,肯定是有原因的。

那如何是好?解。使用腾讯云的产品时出现问题,那就一直提工单沟通。

如果是SAAS产品的问题,怎么办?可以问AI。AI不像搜索引擎只给到一条条的信息,AI给的是答案。

AI本质上,更像是送给你了一个985、211的一个实习生。 他智商ok,能力也强。 如果讲清楚任务(明确的提示词),AI是可以解决大多数工程技术问题。 这时,AI会助力你成为超级个体。 踏浪而行,公众号:追寻完整的人抓紧提示词舵盘!从大模型“自由发挥”到精准修复布局塌陷

工具很好,但操作人在遇到问题时的思考方向也很重要。

分享一个强势文化的思维习惯:

图片
图片

回到网站。

在等工单的过程中,也在自查ngix静态网站的问题。也的确发现不少问题,已找大模型型fix过了。也一块分享一下:

使用yum install nginx后,nginx服务器各文件在硬盘上的位置:

代码语言:javascript
代码运行次数:0
运行
复制
/usr/sbin/nginx # 作用:Nginx主程序二进制文件
/etc/nginx  # 作用:核心配置目录 nginx.conf # 主配置文件
/var/log/nginx  #作用:日志存储目录 access.log # 访问日志
/var/lib/nginx  #作用:运行时数据存储
/usr/share/nginx # 作用:默认静态资源目录 html/ # 网站根目录 index.html  # 默认首页 favicon.ico # 站点图标
代码语言:javascript
代码运行次数:0
运行
复制
sudo systemctl start nginx #启动 Nginx
sudo systemctl status nginx #检查 Nginx 是否启动成功。 active (running),则表示 Nginx 已成功启动
sudo systemctl enable nginx #设置开机自启。Nginx 在系统启动时自动运行
代码语言:javascript
代码运行次数:0
运行
复制
nginx -s stop        # 立即停止
nginx -s quit        # 优雅停止
nginx -s reload      # 重载配置
nginx -v             # 查看版本
代码语言:javascript
代码运行次数:0
运行
复制
用户请求
    ↓
[ /usr/sbin/nginx ] 处理请求
    ├── 读取配置 [/etc/nginx]
    ├── 加载模块 [/usr/lib64/nginx/modules]
    ├── 服务静态文件 [/usr/share/nginx/html]
    ├── 写运行日志 [/var/log/nginx]
    ├── 缓存数据 [/var/lib/nginx]
    └── 日志轮转管理 [/etc/logrotate.d/nginx]

最终的/etc/nginx/nginx.conf文件的配置:

代码语言:javascript
代码运行次数:0
运行
复制
# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
# ===== IP 黑名单配置 =====
    geo $blocked_ip {
        default 0;

        # 攻击IP列表
        59.83.208.104/32 1;
        59.83.208.106/32 1;
        129.211.163.253/32 1;
        220.196.160.125/32 1;
        220.196.160.101/32 1;
        220.196.160.124/32 1;
        220.196.160.83/32 1;
        180.101.245.247/32 1;
        180.101.245.252/32 1;
    }

    map $blocked_ip $block_access {
        0 "";
        1 444;  # 封禁时返回444
    }

# ===== 全局设置 =====
    log_not_found off;           # 禁止记��404错误
    server_tokens off;           # 隐藏服务器版本
    error_log /var/log/nginx/error.log warn;


    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 4096;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

    server {
        listen       80;
        listen       [::]:80;
        server_name  _;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        # IP封禁 (必须放在server块顶部)
        if ($block_access) {
            return 444;
        }

# ===== 恶意请求过滤 =====
        location ~* (\.git|\.env|info\.php|debug|@vite|ecp|v2/_catalog|_all_dbs|server-status) {
            access_log off;
            return 444;
        }

        location ~ /\. {  # 隐藏文件
            access_log off;
            return 404;
        }

        location ~* \.(ico|png)$ {
            expires 1y;
            add_header Cache-Control "public, immutable";
        }


location = /robots.txt {
            access_log off;
            return 200 "User-agent: *\nDisallow: /\n";
        }

# ===== 根路径配置 =====
        location / {
            try_files $uri $uri/ =404;
        }

        error_page 404 /404.html;
location = /404.html {
        }

        error_page 500 502 503 504 /50x.html;
location = /50x.html {
        }
    }

# Settings for a TLS enabled server.
#
#    server {
#        listen       443 ssl http2;
#        listen       [::]:443 ssl http2;
#        server_name  _;
#        root         /usr/share/nginx/html;
#
#        ssl_certificate "/etc/pki/nginx/server.crt";
#        ssl_certificate_key "/etc/pki/nginx/private/server.key";
#        ssl_session_cache shared:SSL:1m;
#        ssl_session_timeout  10m;
#        ssl_ciphers HIGH:!aNULL:!MD5;
#        ssl_prefer_server_ciphers on;
#
#        # Load configuration files for the default server block.
#        include /etc/nginx/default.d/*.conf;
#
#        error_page 404 /404.html;
#            location = /40x.html {
#        }
#
#        error_page 500 502 503 504 /50x.html;
#            location = /50x.html {
#        }
#    }

}

REFERENCE

Nginx代理:掌握proxy_pass的正确姿势

Nginx日志深度挖掘:专为开发者定制的Debug日志教程

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-06-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 的数字化之路 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • REFERENCE
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档