这就是我在 nginx 中拒绝 IP 所需要的全部内容吗?

这就是我在 nginx 中拒绝 IP 所需要的全部内容吗?

我正在尝试阻止并重定向到某个网站的所有流量。这是正确的做法吗?

编辑:我想阻止某些范围的 IP 并将它们重定向到一个 URL。

编辑:通过在 nginx 中阻止,这是否会阻止对后端 Apache 的所有访问,从而不再受到攻击?

server {
          error_log /var/log/nginx/vhost-error_log warn;
          listen 1.2.3.4:80;
          server_name domain.com www.domain.com;
          access_log /usr/local/apache/domlogs/domain.com-bytes_log bytes_log;
          access_log /usr/local/apache/domlogs/domain.com combined;
          root /home/user/public_html;
          location / {
                deny 220.181.0.0/16;
                deny 124.115.0.0/16;
                deny 1.202.0.0/16;
                deny 208.115.0.0/16;
                deny 199.58.0.0/16;
                deny 220.181.0.0/16;
                deny 124.115.0.0/16;
                deny 83.149.0.0/16;
                deny 178.77.0.0/16;
                deny 65.55.0.0/16;
                deny 123.125.0.0/16;
                deny 82.128.0.0/16;
                deny 157.55.0.0/16;
                deny 199.0.0.0/8;
                deny 212.90.0.0/16;
          location ~.*\.(3gp|gif|jpg|jpeg|png|ico|wmv|avi|asf|asx|mpg|mpeg|mp4|pls|mp3|mid|wav|swf|flv|html|htm|txt|js|css|exe|zip|tar|rar|gz|tgz|bz2|uha|7z|doc|docx|xls|xlsx|pdf|iso)$ {
          expires 1d;
          try_files $uri @backend;
          }
          error_page 405 = @backend;
          add_header X-Cache "HIT from Backend";
          proxy_pass http://1.2.3.4:8081;
          include proxy.inc;
          }
          location @backend {
          internal;
          proxy_pass http://1.2.3.4:8081;
          include proxy.inc;
          }
          location ~ .*\.(php|jsp|cgi|pl|py)?$ {
          proxy_pass http://1.2.3.4:8081;
          include proxy.inc;
          }
          location ~ /\.ht {
          deny all;
          }
        }

答案1

“阻止和重定向”对您来说意味着什么?您发布的配置都没有这样做。它有选择地阻止一组特定的请求 cidr,但肯定不是“全部”。/home/user/public_html如果 uri 与某些后缀匹配,它不会阻止它提供的 cidr,否则它会通过 proxy_pass 将请求转发到某个后端。它将拒绝所有请求匹配 uri 的人/.ht

如果你希望重定向,你可以使用return指令返回 301 或 302 状态以及您希望重定向的目标 URL。

要简单地阻止一切,请说:

location ^~ / {
  deny all;
}

或者直接关闭你的网络服务器:)

相关内容