如何设置Nginx,使得其可以拒绝某些IP连接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何设置Nginx,使得其可以拒绝某些IP连接相关的知识,希望对你有一定的参考价值。

nginx拒绝或允许指定IP,是使用模块HTTP访问控制模块(HTTP Access).
控制规则按照声明的顺序进行检查,首条匹配IP的访问规则将被启用。
location /
deny 192.168.1.11;
allow 192.168.1.22/224;
allow 10.1.1.12/126;
deny all;


deny表示拒绝,allow表示允许。

上面的例子中仅允许192.168.1.22/224和10.1.1.12/126网络段访问这个location字段,但192.168.1.11是个例外。
参考技术A 可以使用 Nginx 的 Deny 来拒绝攻击者的IP访问
将拒绝访问的 IP 存放在 nginx 主配置文件中的 include 里面

使用nginx设置代理服务器

nginx可以利用其反向代理的功能来进行负载均衡的实现,同时也可以使用其正向代理的功能设置代理服务器,比如在内网的环境中,在可以连接外网的机器上运行nginx作为代理服务器,其他机器通过设定此台机器的IP和port即可通过其连接上网,本文使用nginx官方镜像,通过如下步骤即可简单实现代理服务器。

Step 1: 启动nginx

[root@devops ~]# docker run -p 8888:8888 --name proxy-nginx -d nginx
c7baab8ea9da0a148aa9bcc1295a54391906f6be94efca7189df23ceecdbf714
[root@devops ~]#
  • 1
  • 2
  • 3

Step 2: 设定nginx

进入容器中

[[email protected] ~]# docker exec -it proxy-nginx sh

update apt-get

安装ping/vi/ps:apt-get update; apt-get install procps vim inetutils-ping

设定nginx.conf

加入如下内容,即可实现最简单的代理功能

    resolver      8.8.8.8;
    server {
       listen 8888;
       location / {
           proxy_pass http://$http_host$request_uri;
       }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

其余信息均为nginx.conf的确认内容,未做修改

# cat nginx.conf

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  $remote_addr - $remote_user [$time_local] "$request" ‘
                      $status $body_bytes_sent "$http_referer" ‘
                      ‘"$http_user_agent" "$http_x_forwarded_for"‘;

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;
    resolver      8.8.8.8;
    server {
       listen 8888;
       location / {
           proxy_pass http://$http_host$request_uri;
       }
    }
    include /etc/nginx/conf.d/*.conf;
}
# 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

Step 4: 设定客户端

在客户端设定服务器IP和上述的端口8888,即可通过改代理服务器连接网络。

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

以上是关于如何设置Nginx,使得其可以拒绝某些IP连接的主要内容,如果未能解决你的问题,请参考以下文章

如何限制远程桌面的登陆IP?

如何配置nginx使得某些域名指向本地目录

为什么用localhost可以连接,本机ip无法连接

如何在 Redis 中配置多个可以访问的 IP 地址

如何在 nginx 上使用 404 拒绝

Nginx限制并发连接数