nginx:限制每次访问1个请求/零大小共享内存区域

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;

我想限制一个管理页面一次只能有一个请求,如:一次只有一个人可以查看该页面。可以通过端口>访问该页面。如果我从文档中理解正确,我需要在nginx config http块中指定limit_conn_zone,并在相关服务器块中指定limit_conn

这是我的nginx.conf文件的简化版本:

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。