首页 > 运维 > nginx > 正文

Nginx访问限制怎么配置

WBOY
发布: 2023-05-13 10:46:05
转载
2294 人浏览过

什么是nginx访问限制配置

nginx访问限制可以基于两个方面,一个是基于ip的访问控制,另一个是基于用户的信任登陆控制

下面我们将对这两种方法逐个介绍

基于ip的访问控制介绍:

可以通过配置基于ip的访问控制,达到让某些ip能够访问,限制哪些ip不能访问的效果

这是允许 访问的配置方法

配置语法:allow address | cidr | unix | all;

默认配置:没有配置

配置路径:http、server、location、limit_except下;

这是不允许访问的配置

方法配置语法:deny address | cidr | unix | all;

默认配置:没有配置

配置路径:http、server、location、limit_except下;

基于ip访问限制的测试

1. 查看本机ip地址,如果是公网,则到 ip138网查看,如果是试验,使用cmd查看。

2. 在 /opt/app/code/目录下添加一个 admin.html 文件,里面就是一个带着背景颜色的普通admin页面

3. 在 /etc/nginx/conf.d/目录下,修改default.conf文件,添加如下内容

Nginx访问限制怎么配置

由上图可知,添加了一个location,来匹配 admin.html,在里面设置了基于ip限制的配置, 将 192.xx.xx.xx 限制,不让其访问,其他的都可以访问。

4. 重新加载nginx

5. 浏览器输入网址,查看日志

Nginx访问限制怎么配置

Nginx访问限制怎么配置

6. 从上图看之,已经实现了 限制某个ip的访问,如果只允许某个ip访问,只需要改下关键字即可。

示例:

一、服务器全局限ip

#vi nginx.conf
  allow 10.115.0.116; #允许的ip
  deny all;
登录后复制

二、站点限ip

#vi vhosts.conf
站点全局限ip:
location / {
  index index.html index.htm index.php;
  allow 10.115.0.116;
  deny all;
登录后复制

站点目录限制

location ^~ /test/ {
  allow 10.115.0.116;
  deny all;
登录后复制

基于登陆用户信任的访问控制

举个例子,我们在访问apache信息时弹出一个用户密码框提示,来进行一个访问前验证。

配置语法:auth_basic string | off;

默认配置:auth_basic off;

配置路径:http、server、location、limit_except;

匹配配置语法: auth_basic_user_file filepath;

匹配默认配置: 没有配置

匹配配置路径: http、server、location、limit_except;

1. 需要添加一个身份文件,auth_conf 文件,这里使用一个 htpasswd工具

使用一下命令   htpasswd -c ./auth_conf  root;

解释一下:  htpasswd 命令   -c:默认是使用md5加密, ./auth_conf 是指定路径和文件 , root是用户名

输入之后,会输入两次密码

Nginx访问限制怎么配置

2. 修改 default.conf配置文件,修改内容如下

Nginx访问限制怎么配置

3. 重新加载nginx

4. 输入网址,查看结果,可以看出 要输入身份信息才能访问

Nginx访问限制怎么配置

以上是Nginx访问限制怎么配置的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:yisu.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!