apache - .htaccess 下 ipv6 子网的 RewriteCond
问题描述
我有一个与到达网站的 ipv6 地址相关的问题。apache 日志,显示 ipv4 和 ipv6 下的客户端 x-forward ips
该网站通过每个允许的子网的 ipv4 白名单受 .htaccess 保护。
例子 :
RewriteCond %{HTTP:X-FORWARDED-FOR} !^123\.45\.67
RewriteCond %{HTTP:X-FORWARDED-FOR} !^123\.45\.68
RewriteCond %{HTTP:X-FORWARDED-FOR} !^123\.45\.69
我怎么能对 ipv6 前缀做同样的事情,因为以下似乎不起作用
RewriteCond %{HTTP:X-FORWARDED-FOR} !^\[1234:123:123::/48\]
如果我在 rewritecond 中指定 ipv6 客户端 ip,它就可以工作。但只有一段时间,直到他的 ipv6 地址被更新。
解决方案
你能试试:
RewriteCond expr "! %{HTTP:X-FORWARDED-FOR} -ipmatch '1234:123:123::/48'"
这意味着 Apache >= 2.4,本机(意味着不使用表达式)RewriteCond
不处理 IP 范围/CIDR 表示法。
推荐阅读
- amazon-web-services - CodeBuild 将源 React 文件推送到 s3 而不是构建文件夹
- c++ - 如何销毁 CUDA 图形数据类型
- sql - 一个表中的逗号分隔值以从另一个表返回结果
- php - 允许在 WordPress 中上传 .json 文件
- tensorflow - 使用 LSTM/GRU 和 Flatten 会引发尺寸不兼容错误
- excel - 每次获取ubound之前的值
- google-analytics - 高基数 Google Analytics 事件标签字段的影响?
- python - ModuleNotFoundError:没有名为“speech_recognition”的模块(Windows 计算机)
- javascript - 日期不起作用 - setFullYear 中的标记值
- reactjs - 没有时区的 React Material UI Datepicker