先讲下解决办法:在腾讯云域名管理中将回源协议修改为 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服务器各文件在硬盘上的位置:
/usr/sbin/nginx # 作用:Nginx主程序二进制文件
/etc/nginx # 作用:核心配置目录 nginx.conf # 主配置文件
/var/log/nginx #作用:日志存储目录 access.log # 访问日志
/var/lib/nginx #作用:运行时数据存储
/usr/share/nginx # 作用:默认静态资源目录 html/ # 网站根目录 index.html # 默认首页 favicon.ico # 站点图标
sudo systemctl start nginx #启动 Nginx
sudo systemctl status nginx #检查 Nginx 是否启动成功。 active (running),则表示 Nginx 已成功启动
sudo systemctl enable nginx #设置开机自启。Nginx 在系统启动时自动运行
nginx -s stop # 立即停止
nginx -s quit # 优雅停止
nginx -s reload # 重载配置
nginx -v # 查看版本
用户请求
↓
[ /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文件的配置:
# 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 {
# }
# }
}