文章目录

  • 为何修改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)相关推荐

  1. Linux配置nginx打开报404,Linux下Nginx配置404页面的方法

    Linux下Nginx配置404页面很多设置后返回状态码是200,而不是404状态码,所以那样的404页面设置是不正确的,今天分享下Linux下Nginx配置404页面设置方法. 1.创建自己的404 ...

  2. nginx 配置网站页面变灰

    nginx 配置网站页面变灰,主要是通过ngx_http_sub_module模块来进行配置,已经安装该模块的可以直接配置,未安装的需新增编译该模块 新增模块编译可以参考以下文章 https://hu ...

  3. docker使用nginx配置前端页面

    docker使用nginx配置前端页面 1.拉取镜像 docker pull nginx:latest 2. 启动容器 $ docker run -itd --name test-nginx -p 2 ...

  4. nginx配置错误页面,处理tomat版本号泄露问题

    一.问题描述 项目做安全扫描时,Tomcat报错页面泄漏Apache Tomcat/7.0.52相关版本号信息,安全策略要求去掉版本号信息. 二.解决方法 网上搜了下,大多都是简单粗暴的处理,直接去掉 ...

  5. Nginx配置相关结构划分的技巧和禁止IP访问

    Nginx配置相关结构划分的技巧 原文来自:http://developer.51cto.com/art/201003/190953.htm Nginx配置需要一定的技巧,我们在不断的使用和维护中就会 ...

  6. php nginx配置404页面,Nginx实现404页面的几种方法

    upstream www { server 192.168.1.201:7777  weight=20 max_fails=2 fail_timeout=30s; ip_hash; } server ...

  7. nginx配置本地地址映射域名以及域名转发指定ip

    首先安装nginx,参加博客:https://www.cnblogs.com/qfb620/p/5508468.html 按照博客写的访问127.0.0.1查看是否访问成功,成功即安装成功. 下一步就 ...

  8. nginx传递真实客户端ip

    问题 我们在用nginx做反向代理的时候,通常会遇到一个问题:服务端解析请求时拿到的都是nginx代理服务器的ip,而不是真实的客户端ip 这对我们的业务处理或许存在一些问题,比如鉴权和限流等 反向代 ...

  9. nginx配置解决vue单页面打包文件大,首次加载慢的问题

    nginx配置解决vue单页面打包文件大,首次加载慢的问题 参考文章: (1)nginx配置解决vue单页面打包文件大,首次加载慢的问题 (2)https://www.cnblogs.com/golo ...

最新文章

  1. CI框架验证码CAPTCHA 辅助函数的使用
  2. 原生 Java 客户端进行消息通信
  3. http://offlineinstallersofts.com/
  4. 第九周项目实践3 利用二叉树遍历思想解决问题
  5. Python中最常用十大图像处理库详细介绍
  6. HNCU 1328: 算法2-18~2-19:双向循环链表
  7. SDUTOJ2828_字典树
  8. 前端学习(653):算数运算符
  9. linux内核怎么修改屏幕旋转方向_运维必备:常见的Linux系统故障及其排查的方法...
  10. 谷歌浏览器怎么设置字体 chrome默认字体设置方法
  11. python怎么开发工具_为程序员和新手准备的8大Python开发工具
  12. PowerBI从Exchange跟踪日志中分析数据和KPI展现
  13. python编写群发软件编写_我帮公司财务写了个“群发工资条”的 Python 脚本!
  14. 解决数据库数据粘贴到excel中换行、换列问题
  15. Excel表格插入斜线
  16. fmri优缺点_fmri原理优缺点
  17. IntelliJ IDEA初次创建简单的java项目--初学者使用详解
  18. fedora Yum命令
  19. elasticsearch _cat命令详解
  20. CentOS7 使用MEGAcmd 下载文件

热门文章

  1. HTTP和HTTPS总结
  2. Nim 游戏 、⽯头游戏1、石头游戏2
  3. 华为云网络覆盖全球2500+站点,打造高品质、低成本接入体验
  4. 腾讯数据库RTOlt;30s,RPO=0高可用方案首次全景揭秘
  5. Mysql semi-sync VS group replication, 谁快?
  6. java小编程--二分查找和插入排序
  7. leetcode 986. Interval List Intersections | 986. 区间列表的交集(双指针)
  8. 小师妹学JVM之:cache line对代码性能的影响
  9. 非阻塞算法(Lock-Free)的实现
  10. Java实现Google第三方登录