Nginx设置黑名单
date: 2019-07-04 14:35:56
author: headsen chen
notice: 个人原创
1,在分域名下面设置:
[root@pro-nginx:/usr/local/openresty/nginx/conf/sites]$cat www.ceshi.com.conf
geo $remote_addr $black {
121.35.3.0/24 1;
121.35.2.0/24 1;
121.35.1.0/24 1;
121.35.0.0/24 1;
112.97.63.0/24 1;
112.97.50.0/24 1;
211.101.18.214 1;
124.232.148.90 1;
118.193.154.149 1;
140.240.23.99 1;
}
server {
listen 80;
listen 443 ssl;
include ceshi-ssl-ev.conf;
server_name www.ceshi.com;
2,在分域名下面设置(设置在匹配项下面的):
location / {
deny 192.168.1.1;
allow 192.168.1.0/24;
allow 10.1.1.0/16;
allow 2001:0db8::/32;
deny all;
proxy_pass http://10.1.1.1:2000;
}
3,在Nginx的总入口上配置访问ip限制,只有在白名单里面的才可以访问。
[root@beta-usrv01:/usr/local/openresty/nginx/conf]$cat nginx.conf
user fmservice;
worker_processes auto;
events {
worker_connections 102400;
} http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server_names_hash_bucket_size 128;
log_format main '$remote_addr [$time_local] "$host" "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" '
'"$request_time:$upstream_response_time" $upstream_addr "$upstream_status" "$upstream_cache_status"';
client_max_body_size 50m;
gzip on;
gzip_types text/plain application/javascript application/x-javascript text/xml text/css image/png image/jpg image/gif image/jpeg;
gzip_vary off;
geo $remote_addr $whitelist {
default 0;
127.0.0.1 1;
172.0.0.0/8 1;
10.0.0.0/8 1;
119.189.0.0/16 1;
113.169.0.0/16 1;
139.108.102.77 1;
112.174.61.155 1;
120.178.139.70 1;
......
} map $http_x_app_info $appheader {
default "";
}
} 也可以分开写:
[root@metabase:/usr/local/openresty/nginx/conf]$cat nginx.conf
worker_processes 1;
events {
worker_connections 1024;
} http {
include mime.types;
default_type application/octet-stream; log_format main '$remote_addr [$time_local] "$host" "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" '
'"$request_time:$upstream_response_time" $upstream_addr "$upstream_status" "$upstream_cache_status"'; access_log logs/access.log main;
error_log logs/error.log;
sendfile on;
keepalive_timeout 65;
include whiteiplist.conf;
server {
listen 80;
server_name aaaa.bbbbbbl.com default;
access_log /var/log/nginx/aaaaa.bbbbbbl.com.log main; if ( $whitelist != 1 ) {
return 403;
#set $fasdbfad 1;
}
[root@metabase:/usr/local/openresty/nginx/conf]$cat whiteiplist.conf
geo $remote_addr $whitelist {
default 0;
101.232.131.102 1;
124.42.150.166 1;
117.136.40.216 1;
}
Nginx设置黑名单的更多相关文章
- Nginx设置线程数为整机内核数的俩倍!
Nginx设置线程数为整机内核数的俩倍!
- nginx设置不使用缓存 add_header Cache-Control no-cache
nginx设置不使用缓存 server { listen 443; #域名 server_name www.dev.163.com; #字符集 charset utf-8; ssl on; ssl_c ...
- nginx设置SSL反向代理
Nginx的反向代理通常用来映射内网中提供的Apache.IIS.Lighttpd服务,以实现负载均衡:同时,由于动态服务程序运行在内网,服务器的整体安全性也有所提高,那么怎样用nginx设置SSL的 ...
- 给postfix设置黑名单
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- nginx 设置进程title
刚好看到nginx设置进程title的源码,因此做一些总结. linux进程实际是以argv[0]处的值来作为进程的title的,因此若需要修改进程的title只需要修改argv[0]处的值即可. 简 ...
- Nginx设置Https反向代理,指向Docker Gitlab11.3.9 Https服务
目录 目录 1.GitLab11.3.9的安装 2.域名在阿里云托管,申请免费的1年证书 3.Gitlab 的 https 配置 4.Nginx 配置 https,反向代理指向 Gitlab 配置 目 ...
- Nginx设置网站维护页面
网站升级需要停服,可以在Nginx设置静态页面设置强制跳转 修改nginx配置文件nginx.conf http { sendfile on; keepalive_timeout 65; server ...
- Nginx 设置临时维护页面
Nginx 设置临时维护页面 http://www.myexception.cn/open-source/1753957.html http://blog.justwd.net/snippets/ng ...
- nginx 设置默认虚拟 host
nginx 设置默认虚拟 host listren 80 default_server
随机推荐
- 分布式session的几种实现方式
在搭建完集群环境后,不得不考虑的一个问题就是用户访问产生的session如何处理.如果不做任何处理的话,用户将出现频繁登录的现象,比如集群中存在A.B两台服务器,用户在第一次访问网站时,Nginx通过 ...
- Linux命令——ulimit
参考:https://www.cnblogs.com/kongzhongqijing/p/5784293.html
- 部署Nginx网站服务实现访问状态统计以及访问控制功能
原文:https://blog.51cto.com/11134648/2130987 Nginx专为性能优化而开发,最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力,单个物 ...
- Spring源码窥探之:Spring AOP初步
AOP(Aspect Oriented Programming):即我们常说的面向切面编程. 什么是AOP?AOP是在我们原来写的代码的基础上,进行一定的包装,比如在方法执行前.方法返回后.方法抛出异 ...
- ***PHP preg_match正则表达式的使用 转载:https://www.cnblogs.com/kenshinobiy/p/4443600.html
第一,让我们看看两个特别的字符:‘^’和‘$’他们是分别用来匹配字符串的开始和结束,以下分别举例说明 : "^The": 匹配以 "The"开头的字符串; &q ...
- mongoose 5.0 链接数据库 代码保存
const mongoose = require('mongoose'); const dbSrc = 'mongodb://localhost/douban-trailer' mongoose.Pr ...
- 使用jQuery快速高效制作网页交互特效-----JavaScript操作DOM对象
一.DOM操作分类 使用JavaScript操作DOM时通常分为三类:DOM Core.HTMl--DOM和CSS-DOM 二.访问节点 节点属性 三.节点信息 四.操作节点的属性 语法: ge ...
- 小程序官方基础项目api请求
onLaunch: function () { // 展示本地存储能力 var logs = wx.getStorageSync('logs') || [] logs.unshift(Date.now ...
- vue上传大文件控件
文件上传是 Web 开发肯定会碰到的问题,而文件夹上传则更加难缠.网上关于文件夹上传的资料多集中在前端,缺少对于后端的关注,然后讲某个后端框架文件上传的文章又不会涉及文件夹.今天研究了一下这个问题,在 ...
- 永远不会被卡的Dinic
78,79行是精髓 61,148,149行是当前弧优化 #include <cstring> #include <cstdio> #include <queue> ...