【发布时间】:2010-11-03 19:56:06
【问题描述】:
我有 nginx 反向代理到 apache,如果我在我的 htaccess 中添加“拒绝 111.111.111.111”,它仍然允许它们通过,因为 nginx 不会转发访问者的 remote_addr ip。
是否有规则或我可以添加到 htaccess 的内容,所以如果访问者的 IP 地址使用“HTTP_X_REAL_IP”,我可以将他们重定向到静态 html 页面?
【问题讨论】:
我有 nginx 反向代理到 apache,如果我在我的 htaccess 中添加“拒绝 111.111.111.111”,它仍然允许它们通过,因为 nginx 不会转发访问者的 remote_addr ip。
是否有规则或我可以添加到 htaccess 的内容,所以如果访问者的 IP 地址使用“HTTP_X_REAL_IP”,我可以将他们重定向到静态 html 页面?
【问题讨论】:
这样的事情应该可以工作:
RewriteEngine On
RewriteCond %{HTTP:HTTP_X_REAL_IP} 111.111.111.111
RewriteRule (.*) - [F,L]
该重写规则将向他们发送 403 禁止响应,而无需替换另一个 url。这应该会导致显示您的默认 403 错误页面。
您可以使用以下命令指定您的 403 错误页面:
ErrorDocument 403 /path-to-file
请参阅:http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritecond 和 http://httpd.apache.org/docs/2.0/mod/core.html#errordocument 了解更多信息。
【讨论】: