Nginx - proxy_pass根仅允许访问特定IP

kpbpu008  于 2022-12-26  发布在  Nginx
关注(0)|答案(1)|浏览(147)

我只允许来自10.10.10.94的流量。
如果我浏览:
http://IP/api:5006(从除allow之外的任何计算机),我得到了access denied,它工作正常。
http://IP:5007我得到了网页(虽然没有数据显示在网页-页面应该一些图形从允许的主机只)。

问题:

对于/api位置访问工作正常,它只允许从允许的IP,但对于/没有限制,可以从任何IP访问。

server {
    listen 80;
    listen [::]:80;
    server_name example.com;
    client_max_body_size 16M;
    return 301 https://$host$request_uri;
}

server {
  listen 443 http2 ssl;
  listen [::]:443 http2 ssl;

  server_name example.com;
  client_max_body_size 16M;
  ssl_certificate /etc/ssl/certs/star.pem;
  ssl_certificate_key /etc/ssl/private/star.key;

  location / {

      allow 10.10.10.94;
      deny 10.10.0.0/16;
      proxy_pass http://127.0.0.1:5007/;
  }
  location /api/ {

       allow 10.10.10.94;
      deny 10.10.0.0/16;
      proxy_pass http://127.0.0.1:5006/;
  }
}
a8jjtwal

a8jjtwal1#

尝试此位置:

location / {
      allow 10.10.10.94/32;
      deny all;
      proxy_pass http://127.0.0.1:5007/;
  }
  location /api/ {
      allow 10.10.10.94/32;
      deny all;
      proxy_pass http://127.0.0.1:5006/;
  }

相关问题