105 字
1 分钟
回源配置
场景需求
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 1fi
echo "2. 格式化并生成 Nginx 配置..."# 使用 awk 提取非空行的第一列,拼接成 allow 语句awk 'NF {print "allow " $1 ";"}' "$TEMP_FILE" > "$CONF_FILE"
# 追加 deny allecho "" >> "$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 分享
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时
相关文章 智能推荐
1
NGINX 源码构建
教程 2023-08-03
2
steam的cdn问题
教程 通过steam下载游戏时,本地带宽无法跑满,可能是由于cdn不恰当的问题。本文解析代理和直连模式下访问steam时,对cdn产生的影响。
3
Obsidian图床图片处理方案
教程 本文叙述了多种情况下,对于obsidian的图片需求,采用何种图床方式解决更优。同时,针对常见的图床问题,如app访问不了、如何防盗刷等做出了回答。
4
TCCLI更新腾讯云CDN证书
教程 2024-05-03
5
WSL 部署 CosyVoice3
开发 介绍了如何在Windows系统的WSL环境下配置音频大模型CosyVoice3及其使用方式。









