Nginx配置统计页面及访问控制(htpasswd和客户端IP)
文章目录
- 为何修改Nginx用户与组?
- 启用HTTP_STUB_STATUS状态统计模块
- 授权的访问控制
- 基于客户端IP实现访问控制
为何修改Nginx用户与组?
Nginx运行时进程需要有用户与组的支持,以实现对网站文件读取时进行访问控制
Nginx默认使用 nobody用户账号与组账号,一般也要进行修改
修改的方法
编译安装时指定用户与组
修改配置文件时指定用户与组
开启和关闭Nginx
[root@localhost nginx]# cd /usr/local/nginx/
[root@localhost sbin]# nginx 开启nginx
[root@localhost sbin]# killall -s QUIT nginx 关闭进程
查看端口是否开启
[root@localhost nginx]# netstat -ntap | grep 80 查看监听地址
[root@localhost nginx]# yum install -y elinks 检查
[root@localhost sbin]# elinks http://localhost 查看是否开启
启用HTTP_STUB_STATUS状态统计模块
[root@localhost ~]# tar zxvf nginx-1.12.2.tar.gz
[root@localhost ~]#cd /opt
[root@localhost opt]# yum install -y gcc gcc-c++ pcre-devel zlib-devel
[root@localhost nginx-1.12.2]# ./configure \ 启动脚本
--prefix=/usr/local/nginx \ 配置安装路径
--user=nginx \ 指定用户
--group=nginx \ 指定组
--with-http_stub_status_module 开启统计模块
make && make install
[root@localhost nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/
[root@localhost nginx]# cd /usr/local/nginx/
[root@localhost nginx]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ 创建软链接让系统可以识别
修改nginx配置文件
[root@localhost nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf ## 编辑配置文件添加如下内容:location /status {stub_status on;access_log off;}
开启nginx服务
[root@localhost nginx-1.12.2]# nginx
在浏览器中输入地址进行访问统计页面
http://192.168.136.88/status
授权的访问控制
[root@localhost nginx]# vim /usr/local/nginx/conf/nginx.conf
43 location / {44 auth_basic "secret";45 auth_basic_user_file /user/local/nginx/passwd.db;
设置用户名和密码
[root@localhost nginx]# yum -y install httpd-tools
[root@localhost nginx]# htpasswd -c /usr/local/nginx/passwd.db zhang
New password: ## 输入密码
Re-type new password: ## 确认密码
Adding password for user zhang
[root@localhost nginx]# cd /usr/local/nginx/
[root@localhost nginx]# nginx
[root@localhost nginx]# iptables -F
[root@localhost nginx]# setenforce 0
[root@localhost nginx]# systemctl stop firewalld
3、修改认证文件的属主
[root@localhost nginx-1.12.2]# chown nginx /usr/local/nginx/passwd
4、修改认证文件权限
[root@localhost nginx-1.12.2]# chmod 400 /usr/local/nginx/passwd
5、编辑nginx配置文件
[root@localhost nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf## 在虚拟主机的location字段中添加如下两行:auth_basic "secret";
auth_basic_user_file /usr/local/nginx/passwd;
6、打开浏览器,清除缓存并重启,输入192.168.136.88进行访问
只要输入之前用htpasswd工具生成的用户名和密码就可以登录正常访问页面了
基于客户端IP实现访问控制
1、修改nginx配置文件,在虚拟主机中添加拒绝地址名单
[root@localhost nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf ## 编辑配置文件server {server_name 192.168.50.134;location / {deny 192.168.136.100; ## 拒绝IP地址为192.168.50.136地址的主机访问allow all; ## 允许其他所有主机访问root /var/www/test;index index.html index.php;}}
2、重启nginx服务
[root@localhost conf]# systemctl restart nginx
3、使用客户机(IP:192.168.136.100)进行访问,打开浏览器,清空缓存后重启,访问192.168.50.134
从看出已经不能访问了
Nginx配置统计页面及访问控制(htpasswd和客户端IP)相关推荐
- Linux配置nginx打开报404,Linux下Nginx配置404页面的方法
Linux下Nginx配置404页面很多设置后返回状态码是200,而不是404状态码,所以那样的404页面设置是不正确的,今天分享下Linux下Nginx配置404页面设置方法. 1.创建自己的404 ...
- nginx 配置网站页面变灰
nginx 配置网站页面变灰,主要是通过ngx_http_sub_module模块来进行配置,已经安装该模块的可以直接配置,未安装的需新增编译该模块 新增模块编译可以参考以下文章 https://hu ...
- docker使用nginx配置前端页面
docker使用nginx配置前端页面 1.拉取镜像 docker pull nginx:latest 2. 启动容器 $ docker run -itd --name test-nginx -p 2 ...
- nginx配置错误页面,处理tomat版本号泄露问题
一.问题描述 项目做安全扫描时,Tomcat报错页面泄漏Apache Tomcat/7.0.52相关版本号信息,安全策略要求去掉版本号信息. 二.解决方法 网上搜了下,大多都是简单粗暴的处理,直接去掉 ...
- Nginx配置相关结构划分的技巧和禁止IP访问
Nginx配置相关结构划分的技巧 原文来自:http://developer.51cto.com/art/201003/190953.htm Nginx配置需要一定的技巧,我们在不断的使用和维护中就会 ...
- php nginx配置404页面,Nginx实现404页面的几种方法
upstream www { server 192.168.1.201:7777 weight=20 max_fails=2 fail_timeout=30s; ip_hash; } server ...
- nginx配置本地地址映射域名以及域名转发指定ip
首先安装nginx,参加博客:https://www.cnblogs.com/qfb620/p/5508468.html 按照博客写的访问127.0.0.1查看是否访问成功,成功即安装成功. 下一步就 ...
- nginx传递真实客户端ip
问题 我们在用nginx做反向代理的时候,通常会遇到一个问题:服务端解析请求时拿到的都是nginx代理服务器的ip,而不是真实的客户端ip 这对我们的业务处理或许存在一些问题,比如鉴权和限流等 反向代 ...
- nginx配置解决vue单页面打包文件大,首次加载慢的问题
nginx配置解决vue单页面打包文件大,首次加载慢的问题 参考文章: (1)nginx配置解决vue单页面打包文件大,首次加载慢的问题 (2)https://www.cnblogs.com/golo ...
最新文章
- CI框架验证码CAPTCHA 辅助函数的使用
- 原生 Java 客户端进行消息通信
- http://offlineinstallersofts.com/
- 第九周项目实践3 利用二叉树遍历思想解决问题
- Python中最常用十大图像处理库详细介绍
- HNCU 1328: 算法2-18~2-19:双向循环链表
- SDUTOJ2828_字典树
- 前端学习(653):算数运算符
- linux内核怎么修改屏幕旋转方向_运维必备:常见的Linux系统故障及其排查的方法...
- 谷歌浏览器怎么设置字体 chrome默认字体设置方法
- python怎么开发工具_为程序员和新手准备的8大Python开发工具
- PowerBI从Exchange跟踪日志中分析数据和KPI展现
- python编写群发软件编写_我帮公司财务写了个“群发工资条”的 Python 脚本!
- 解决数据库数据粘贴到excel中换行、换列问题
- Excel表格插入斜线
- fmri优缺点_fmri原理优缺点
- IntelliJ IDEA初次创建简单的java项目--初学者使用详解
- fedora Yum命令
- elasticsearch _cat命令详解
- CentOS7 使用MEGAcmd 下载文件
热门文章
- HTTP和HTTPS总结
- Nim 游戏 、⽯头游戏1、石头游戏2
- 华为云网络覆盖全球2500+站点,打造高品质、低成本接入体验
- 腾讯数据库RTOlt;30s,RPO=0高可用方案首次全景揭秘
- Mysql semi-sync VS group replication, 谁快?
- java小编程--二分查找和插入排序
- leetcode 986. Interval List Intersections | 986. 区间列表的交集(双指针)
- 小师妹学JVM之:cache line对代码性能的影响
- 非阻塞算法(Lock-Free)的实现
- Java实现Google第三方登录