当前位置:首页>使用指南> 一键设置IIS只允许cloudflare访问

一键设置IIS只允许cloudflare访问

使用IIS套上cloudflare后,很多人不知道禁止非cloudflare ip访问,今天给个一键代码,在ps里边执行即可。# Cloudflare IP 地址列表 $cloudflareIPs = @(\"173.245.48.0/20\",\"103.21.244.0/22\",\"103.22.200

使用IIS套上cloudflare后,很多人不知道禁止非cloudflare ip访问,今天给个一键代码,在ps里边执行即可。

# Cloudflare IP 地址列表
$cloudflareIPs = @(
    "173.245.48.0/20",
    "103.21.244.0/22",
    "103.22.200.0/22",
    "103.31.4.0/22",
    "141.101.64.0/18",
    "108.162.192.0/18",
    "190.93.240.0/20",
    "188.114.96.0/20",
    "197.234.240.0/22",
    "198.41.128.0/17",
    "162.158.0.0/15",
    "104.16.0.0/13",
    "104.24.0.0/14",
    "172.64.0.0/13",
    "131.0.72.0/22"
)

# 获取所有 IIS 网站的配置
$sites = Get-Website

# 循环遍历所有 IIS 网站并添加 Cloudflare IP 地址到允许列表
foreach ($site in $sites) {
    $siteName = $site.Name
    $siteConfig = Get-WebConfiguration -PSPath "IIS:\Sites\$siteName"
    
    foreach ($ipRange in $cloudflareIPs) {
        $ruleName = "AllowCloudflareIP_$([System.Guid]::NewGuid())"
        $addRuleScript = @"
ipconfig /flushdns
New-WebConfigurationProperty -PSPath 'IIS:\Sites\$siteName' -Filter "system.webServer/security/ipSecurity" -Name "." -Value @{
    "ipAddress" = "$ipRange";
    "subnetMask" = "255.255.255.255";
    "allowed" = $true;
    "domainName" = '';
    "byPass" = $false;
    "matchOnly" = $true;
    "negate" = $false;
    "ruleName" = "$ruleName";
    "enableReverseDns" = $false;
}
"@
        Invoke-Expression $addRuleScript
    }
    
    # 应用更改
    $siteConfig | Set-WebConfiguration -Verbose
}
温馨提示:本文最后更新于 2023-08-24 03:43 ,某些文章具有时效性,若有错误或已失效,请在下方留言或联系QQ115904045
声明 本站上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。无意侵害您的权益,请发送邮件至 [email protected] 或点击右侧 私信:尚艺网络 反馈,我们将尽快处理。

给TA打赏
共{{data.count}}人
人已打赏
使用指南

小白闯江湖之常用一键脚本

2023-8-16 17:42:05

使用指南

route53 同时使用cname和ip解析的方法

2023-8-29 1:24:05

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
联系我们