apache在cdn后面启用目录保护acl

apache在cdn后面看到的都是cdn推送过来的ip,无法看到真实的客户端ip,更无法对某些目录做特定的ip访问限制,解决步骤如下:


1. 先安装mod_rpaf模块,在httpd.conf里添加:

LoadModule rpaf_module modules/mod_rpaf.so

RPAFenable On
RPAFsethostname On
RPAFproxy_ips 172.168.10.15 cdn的所有ip地址或地址段
RPAFheader X-Forwarded-For


2. 然后在所要限制访问的目录里添加如下(ip换成你需要的ip):

<Directory /path/to/protected/directory>

    SetEnvIf X-FORWARDED-FOR 93.75.252.219 allowedip
     SetEnvIf X-FORWARDED-FOR 110.170.50.32 allowedip
     order deny,allow
     deny from all
     allow from env=allowedip
</Directory>

### 如何在Ubuntu上配置和使用Squid代理服务器 #### 安装必要的软件包 为了成功部署 Squid 代理服务器,在 Ubuntu 上需先安装一些必备的软件包。这包括 `openssh-server`、`apache2-utils` 和 `squid` 自身。 ```bash sudo apt update sudo apt install openssh-server apache2-utils squid ``` 上述命令会更新本地包索引并安装所需的软件包[^2]。 #### 启动与启用 Squid 服务 完成安装后,启动 Squid 并将其设置为开机自启: ```bash sudo systemctl start squid sudo systemctl enable squid ``` 验证 Squid 是否正常运行可以通过查看其状态来确认: ```bash sudo systemctl status squid ``` 如果一切顺利,则说明 Squid 已经准备好提供服务[^3]。 #### 修改默认配置文件 接下来编辑 `/etc/squid/squid.conf` 文件以适应特定需求。建议备份原始配置文件以防万一出现问题可以恢复原状: ```bash sudo cp /etc/squid/squid.conf{,.bak} sudo nano /etc/squid/squid.conf ``` 在此过程中,可以根据实际需要调整各项参数,比如允许访问的 IP 地址范围、缓存大小等。对于初学者来说,最简单的修改方式是在文件末尾添加如下几行以便让本机能够作为客户端测试 Squid 的功能: ```conf acl localnet src 192.168.1.0/24 # 替换成自己的局域网IP段 http_access allow localnet # 允许来自该网段内的请求通过 visible_hostname yourhostname # 设置主机名方便调试 cache_mgr admin@example.com # 设定管理员邮箱地址用于联系 ``` 保存更改后的配置文件,并重启 Squid 让新设定生效: ```bash sudo systemctl restart squid ``` 此时应该已经可以在浏览器里指定此台机器作为 HTTP(S) 代理服务器来进行网页浏览了[^1]。 #### 测试 Squid 功能 为了让 Squid 正常工作,还需要确保防火墙规则允许外部流量到达 Squid 所监听的端口,默认情况下是 3128 端口。假设正在使用的防火墙工具是 UFW (Uncomplicated Firewall),那么可通过下面这条指令开放相应端口: ```bash sudo ufw allow 3128/tcp ``` 最后一步就是在客户终端设备上的 Web 浏览器或者其他应用程序内手动输入代理服务器的信息——即当前 Linux 主机的公网 IP 或者私有 LAN 内部 IP 加冒号加端口号的形式(例如:`192.168.1.100:3128`),从而实现所有互联网通信均经过 Squid 转发的目的。 当遇到像 GitHub 页面加载缓慢以及资源无法显示等问题时,可能是因为 Squid 缓存机制导致某些动态内容未能及时刷新所致;也可能由于目标网站针对不同地区的 CDN 分配策略造成延迟增加。尝试清除 Squid 缓存或者优化网络路径可能会有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值