mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6
105 字
1 分钟
回源配置
2026-01-03
统计加载中...

场景需求#

CDN 或者全站加速等场景,可以设置 HTTP 回源,然后配合 IP 地址列表,实现仅允许对应 IP 访问源站,阻断非法访问。

EdgeOne#

[!info] 免费版不支持控制台操作,所以这里借助脚本 + API

nginx 配置如下:

server {
# default_server 表示如果有其他域名指向这个IP,也都由这个配置处理
# 只要IP白名单通过,这里就无脑响应
listen 80 default_server;
# _ 是一个常见的习惯用法,代表“匹配所有域名”或“不关心域名”
server_name _;
root /var/www/files;
# 引入之前的 IP 白名单脚本生成的配置文件
include /etc/nginx/edgeone_ips.conf;
location / {
autoindex on;
}
}

编写更新脚本 /usr/local/bin/update_edgeone_ips.sh

#!/bin/bash
# 定义文件路径
API_URL="https://api.edgeone.ai/ips"
CONF_FILE="/etc/nginx/edgeone_ips.conf"
TEMP_FILE="/tmp/edgeone_ips.tmp"
echo "1. 开始下载 IP 列表..."
# --http1.1: 强制使用旧协议,防止卡死
# -s: 静默模式 (不显示进度条)
# -S: 如果报错则显示错误信息
curl -sS --http1.1 "$API_URL" > "$TEMP_FILE"
# 检查是否下载到了内容(文件是否存在且大小大于 0)
if [ ! -s "$TEMP_FILE" ]; then
echo "❌ 下载失败:文件为空。"
exit 1
fi
echo "2. 格式化并生成 Nginx 配置..."
# 使用 awk 提取非空行的第一列,拼接成 allow 语句
awk 'NF {print "allow " $1 ";"}' "$TEMP_FILE" > "$CONF_FILE"
# 追加 deny all
echo "" >> "$CONF_FILE"
echo "deny all;" >> "$CONF_FILE"
echo "3. 重载 Nginx..."
# 检查配置无误后重载
nginx -t && systemctl reload nginx
echo "✅ 完成!"
# 清理临时文件
rm -f "$TEMP_FILE"

赋予执行权限后,设置定时任务:

0 3 */3 * * /usr/local/bin/update_edgeone_ips.sh
分享

如果这篇文章对你有帮助,欢迎分享给更多人!

回源配置
https://blog.085404.xyz/posts/回源配置/
作者
Sun2ot
发布于
2026-01-03
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

封面
Sample Song
Sample Artist
封面
Sample Song
Sample Artist
0:00 / 0:00