IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Nginx访问控制 -> 正文阅读

[系统运维]Nginx访问控制

1、基于地址访问控制

1)安装模块

所需模块默认已经内置,无需再次安装

2)命令

allow:
语法:   allow address | CIDR | unix: | all;
默认值:配置段:   http, server, location, limit_except

allow解释:允许某个IP或者IP网段访问

deny:
语法:   deny address | CIDR | unix: | all;
默认值:配置段:   http, server, location, limit_except

deny解释:禁止某个IP或者IP网段访问

3)实验演示

①要求

限制主机192.168.25.136访问web1.test.com,其余同网段192.168.25.0/24其它主机均可访问web1.test.com,拒绝其它所有主机访问web1.test.com

②实验环境

服务端:192.168.25.137 web1.test.com
客户端:192.168.25.136 & 192.168.25.138

③修改配置文件

server {
listen  80;  
server_name  web1.test.com;
location / {
    autoindex on;
    root   /usr/share/nginx/html/web1;
    index  index.html index.htm;
    deny   192.168.25.136;
    allow  192.168.25.0/24;
    deny   all;
        }
}

注意:从上到下的顺序,类似iptables & ACL,一旦匹配立即跳出

④重启nginx

[root@www ~]# systemctl restart nginx

⑤客户端测试

[root@136 ~]# curl web1.test.com
<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx/1.20.1</center>
</body>
</html>
[root@138 ~]# curl web1.test.com
this is web1 test page

2、基于用户访问控制

1)安装模块

对于实现访问网站或目录密码认证保护,nginx的HTTP基本认证模块(HTTP Auth Basic)可以实现。这个模块提供基于用户名与密码的验证保护站点或站点的一部分。

HTTP基本认证模块默认已经内置,无需再次安装

2)命令

auth_basic:
语法:   auth_basic  string | off;
默认值:

auth_basic解释:指令包含一个具有测试用户名和密码的HTTP基本认证,指定的参数将用于认证域。如果将该值设置为“off”则忽略下级指令继承的动作。

auth_basic_user_file:
语法:   auth_basic_user_file  file;
默认值:

auth_basic_user_file解释:指令为验证域指定了密码文件的路径,0.6.7版本以后这里指定的文件是nginx.conf所在目录的相对路径,而不是prefix指定的路径。上方指定的 string(自定义字符串) 所代表单词将会出现在第一次访问Nginx站点的弹出框内。
注意:最后的路径避免麻烦可以直接用绝对路径,如果需要使用相对路径,需要写在当前配置文件所在路径的基础上。

3)实验演示

①要求

所有主机访问web1.test.com均需要进行身份验证(输入账号 & 密码)。

②实验环境

服务端:192.168.25.137 web1.test.com
客户端:192.168.25.136 & 192.168.25.138

③修改配置文件

server {
listen  80;
server_name  web1.test.com;
location / {
    autoindex on;
    root   /usr/share/nginx/html/web1;
    index  index.html index.htm;
    auth_basic "Restricted";
    auth_basic_user_file /usr/share/nginx/webuserpass;
        }
}

④创建账号密码

[root@www ~]# htpasswd -c /usr/share/nginx/webuserpass tom		//tom用户(无需事先创建)
New password: 							//密码:redhat
Re-type new password: 					//确认密码:redhat
Adding password for user tom

⑤重启nginx

[root@www ~]# systemctl restart nginx

⑥客户端测试(浏览器测试)

[root@136 ~]# elinks web1.test.com
[root@138 ~]# elinks web1.test.com

192.168.25.136
在这里插入图片描述
在这里插入图片描述
192.168.25.138
在这里插入图片描述
在这里插入图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-06-18 23:34:08  更:2022-06-18 23:34:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 2:03:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码