繁体   English   中英

Apache:.htaccess 与用于阻止 URL 的 vhost conf 文件

[英]Apache: .htaccess vs vhost conf file for blocking URLs

我需要阻止一些在我的 web 服务器 (Apache) 中产生大量流量的 uld URL。 例如阻止所有请求,如https://example.com/xxxxxx/

我不能用 IPtables 做到这一点,所以我在我的 .htaccess 中使用带有规则的mod_rewrite

那仍然消耗大量资源,我想知道是否有更好的方法可以在到达 Apache 之前阻止请求。或者在 Apache 内进行其他最有效的方法。例如,我听说解析 .htaccess 文件会消耗资源,所以不确定使用 vhost.conf 文件是否有帮助或者它真的是一样的......

关于如何使用 URL 阻止请求的任何建议?

谢谢专家!

当然,分布式配置文件比单个、中央和 static 配置消耗更多的负载。 但区别不像白天和黑夜。 分布式配置的问题更多的是保持概览,维护它。

如果您可以将这些请求完全远离 http 服务器,您肯定会看到更多差异。 您可以考虑使用前端服务器。 像 nginx 或 HAProxy 这样的东西充当看门人,只转发那些你真正想要响应的请求。 虽然这在单个系统上没有什么意义,但您需要两个单独的云服务甚至系统。

最好的方法是将类似这样的内容添加到您的 httpd / vhost.conf 文件中:

RewriteEngine on

RewriteCond %{REQUEST_URI} !^/xxxx$
RewriteRule ^ - [F]

每次调用 /xxxx 都会导致 mod_rewrite 返回 403 响应。 确保将这些规则放入相应的虚拟主机标签中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM