RE: is nginx support time-based acl？
r at roze.lv
Sat Jun 1 11:50:12 UTC 2019
> hi all, I have a Nginx server,which I want to setup a time-based acl, for example,
> during 8am to 17pm, Nginx accept all connections, during 17pm to 8am nextday,
> Nginx deny all connections.
> Different acl may be deployed in different sites.
> Is this possible? I looked at the ngx_http_access_module, seems cannot do this.
Besides auth request or some lua module depending on the complexity of the acl you could just use crontab for that:
- in nginx.conf in particular site/server block add: include deny.conf; (each site can have its own config)
- in crontab at 17pm do: echo 'deny all;' > deny.conf; nginx -s reload
- at 8am: echo '' > deny.conf; nginx -s reload
(or if the rules are more complex you can just write those down in a pre-made file and then in the crontab just swap those and do a reload)
More information about the nginx