nginx:限制每次访问1个请求/零大小共享内存区域
我想限制一个管理页面一次只能有一个请求,如:一次只有一个人可以查看该页面。可以通过端口>访问该页面。如果我从文档中理解正确,我需要在nginx config http块中指定limit_conn_zone,并在相关服务器块中指定limit_conn 这是我的nginx.conf文件的简化版本:nginx:限制每次访问1个请求/零大小共享内存区域,nginx,Nginx,我想限制一个管理页面一次只能有一个请求,如:一次只有一个人可以查看该页面。可以通过端口>访问该页面。如果我从文档中理解正确,我需要在nginx config http块中指定limit_conn_zone,并在相关服务器块中指定limit_conn 这是我的nginx.conf文件的简化版本: http { limit_conn_zone $server_name zone=server:10m; server { listen 80;
http {
limit_conn_zone $server_name zone=server:10m;
server {
listen 80;
server_name localhost;
...
}
server {
listen 8010;
server_name admin.url.com;
limit_conn servers 1;
}
}
此配置文件中还有几个服务器块
在输入这两行代码并重新启动nginx后,我收到以下错误消息:
$ sudo /etc/init.d/nginx restart
Restarting nginx: nginx: [emerg] zero size shared memory zone "servers"
我做错了什么?问题是我现在必须在每个服务器块中定义limit_conn吗 如果要限制$server\u name变量,必须在servers部分设置名称。例如:
server {
server_name _;
listen 80 default_server;
...
即使Nginx文档也没有给出这个提示,请参见您定义了区域服务器并使用了服务器,因此每次1个请求与每次1个人完全无关。谢谢@AlexeyTen,没有看到缺少的“s”。现在我不再收到错误,但我似乎仍然能够多次访问该页面,尽管来自同一IP。