这是为了评论一个类似的问题,但由于Stack对于评论的限制性很强,所以我按照他们的意愿重新发布:
:这里的文档: http : //httpd.apache.org/docs/2.4/en/mod/mod_authz_core.html#require )
这里是configuration文件: Options Indexes FollowSymLinks AllowOverride None Require ip $CIDR ~
错误仍然是:5月24 20:54:54 ip-172-16-5-34.us-west-1.compute.internal httpd [23044]:AH00526:在/ etc / httpd / conf行3上的语法错误.d / httpd.conf:5月24日20:54:54 ip-172-16-5-34.us-west-1.compute.internal httpd [23044]:无效的命令'要求',可能是拼写错误或由模块不包含在服务器configuration中
我错过了什么?
它看起来像RequireAny或RequireAll命令可能会帮助,但他们不。
为了您的参考,这里提供的信息是不够的: 我如何要求IP范围而不是1 IP?
Require ip $CIDR ~在Options指令中不正确。 文档非常清楚,可能在Options指令中。
Require是它自己的指令 ,可以在一个Container中,但肯定不在一个Options指令中。
当你过去的时候,你的下一个问题可能就是Require ip $CIDR ~ 。 你在哪里得到这个$CIDR ~位? 您需要按照主机的访问控制和Require ip指令的规范进行正确的规范。
如果事实上,你实际上在自己的configuration行上有Require ip $CIDR ~ ,而不是你在问题中所做的,那么现在就参考这个答案的最后部分(即使用Require ip ),也看到以下的说明。
注意:您必须加载mod_authz_core以使用Require (和相关)指令。
还要注意:在尝试重新启动Apache之前,您应该运行apachectl -t来检查configuration更改,而不是通过崩溃Apache来查找这些问题。