使用Nginx作为代理来防止通过JavaScript客户端在ElasticSearch上创建/更新/删除操作

我有一个本地ElasticSearch服务器,由Nginx公开,可以防止POST,PUT和DELETE请求.这是我的Nginx配置足以防止信息获取之外的操作?你建议改进吗?

  upstream elasticsearch {
      server localhost:9200;
  }

  server {
      listen 7777;

      location / {
        return 403;
        limit_except PUT POST DELETE {
          proxy_pass http://elasticsearch;
        }
        proxy_redirect off;
      }

  }

谢谢.

[UPDATE]

我的配置在deagh的建议之后:

  upstream elasticsearch {
      server localhost:9200;
  }

  server {
      listen 7777;

      location / {
        return 403;
        limit_except PUT POST DELETE {
          proxy_pass http://elasticsearch;
        }
        proxy_redirect off;
      }

      location ~* ^(/_cluster|/_nodes|/_shutdown) {
        return 403;
        break;
      }

  }
最佳答案
您还应该注意与不同弹性体位置的连接

> _cluster
> _nodes
> _shutdown

您可以在documentation =>中找到有关nginx和elasticsearch的工作(和安全)设置的更多信息. http://www.elasticsearch.org/blog/playing-http-tricks-nginx/

相关文章

文章浏览阅读3.7k次,点赞2次,收藏5次。Nginx学习笔记一、N...
文章浏览阅读1.7w次,点赞14次,收藏61次。我们在使用容器的...
文章浏览阅读1.4k次。当用户在访问网站的过程中遇到404错误时...
文章浏览阅读2.7k次。docker 和 docker-compose 部署 nginx+...
文章浏览阅读1.3k次。5:再次启动nginx,可以正常启动,可以...
文章浏览阅读3.1w次,点赞105次,收藏182次。高性能:Nginx ...