当前位置:论坛首页 > Linux面板 > 求助

【已完成】请问如何禁止非CDN的80,443的HTTP请求?

发表在 Linux面板2023-8-28 15:20 [复制链接] 3 2030

本帖最后由 堡塔运维香菜卷 于 2023-8-29 10:54 编辑

问题描述:
我的网站使用了CDN加速服务,但是我通过统计发现有大量请求并没有通过CDN 访问我的网站。导致CDN 并没有做到缓解我服务器压力的问题!


背景信息:
我使用的是Centos 7.6 操作系统 web环境是 LNMP 我的网站只开放了 80 和 443 端口。我是宝塔付费用户安装了WAF付费防火墙。


预期结果:
我期望能够实现只有经过CDN的请求能打开我的网站,绕过CDN的请求一律拒绝。


请问我如何实现这个需求?
在线等各位大神和宝塔官方的宝贵建议!非常感谢你们的帮助!
使用道具 举报 只看该作者 回复
发表于 2023-8-28 15:48:16 | 显示全部楼层
帖子可别沉啊,大神帮帮忙!
使用道具 举报 回复 支持 反对
发表于 2023-8-28 16:13:10 | 显示全部楼层
您好,根据您所描述的,您可以尝试使用系统防火墙,联系CDN提供商索要IP段,把上述的IP段添加为80端口和443白名单,通过其他途径访问服务器的都拒绝链接。
如果您的CDN提供商提供域名反代的话,可以把您的服务器解析到CDN提供的域名地址,然后您自己的域名CNAME过去,即可实现您这个域名访问的都是先走CDN厂商了。
但是,通过您所描述的,大概率是您的站点代码有写死了服务器IP地址,导致请求都没走到CDN那边的。
使用道具 举报 回复 支持 反对
发表于 2023-8-28 17:24:38 | 显示全部楼层
堡塔运维香菜卷 发表于 2023-8-28 16:13
您好,根据您所描述的,您可以尝试使用系统防火墙,联系CDN提供商索要IP段,把上述的IP段添加为80端口和443 ...

我有尝试通过系统防护墙把cdn的节点IP段添加到了80和43放行的这一个模式。
首先我的域名c name解析到了 cdn提供商。
Cdn提供商从他们的节点来抓取我们的网页,对客户进行展示。
但有出现一种情况,比如说我通过本地host劫持。
直接把域名指向了服务器。
虽然我设置了系统防火墙,而且也重启防火墙,使之生效了。
但是我在本地依然能打开网站。
我不知道这个过程当中是我哪里没有设置好还是什么样原因,这个方案没有实现。
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="154.82.75.0/24" port protocol="tcp" port="80" accept'
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="154.82.75.0/24" port protocol="tcp" port="443" accept'
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表