当前位置: 首页 > article >正文

nginx 基于IP和用户的访问

nginx的下载

yum install nginx.x86_64 -y

启动服务

systemctl enable --now nginx.service

查看服务目录

[root@webserver ~]# rpm -ql nginx
/usr/bin/nginx-upgrade
/usr/lib/systemd/system/nginx.service
/usr/share/man/man3/nginx.3pm.gz
/usr/share/man/man8/nginx-upgrade.8.gz
/usr/share/man/man8/nginx.8.gz
/usr/share/nginx/html/404.html
/usr/share/nginx/html/50x.html
/usr/share/nginx/html/icons
/usr/share/nginx/html/icons/poweredby.png
/usr/share/nginx/html/index.html
/usr/share/nginx/html/nginx-logo.png
/usr/share/nginx/html/poweredby.png
/usr/share/nginx/html/system_noindex_logo.png
/usr/share/vim/vimfiles/ftdetect/nginx.vim
/usr/share/vim/vimfiles/ftplugin/nginx.vim
/usr/share/vim/vimfiles/indent/nginx.vim
/usr/share/vim/vimfiles/syntax/nginx.vim

修改默认发布

echo 172.25.254.100 > /usr/share/nginx/html/index.html

结果

基于IP的访问限制

vim /etc/nginx/nginx.confserver {listen       80;listen       [::]:80;server_name  _;#root         /usr/share/nginx/html;
​root         /var/www/html;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;
​error_page 404 /404.html;location = /404.html {}
​error_page 500 502 503 504 /50x.html;location = /50x.html {}location = /timinglee/ {allow 172.25.254.100;deny all;}}

allow 172.25.254.100;

deny all;只允许172.25.254.100访问

结果

100的主机

[root@webserver ~]# curl 172.25.254.100/timinglee/
timinglee

200的主机

[root@server200 ~]# curl 172.25.254.100/timinglee/
<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx/1.20.1</center>
</body>
</html>

基于用户的访问

上面的实验做完,恢复环境

[root@webserver ~]# mkdir -p /usr/share/nginx/html/timinglee
[root@webserver ~]# echo timinglee > /usr/share/nginx/html/timinglee/index.html
[root@webserver ~]# curl 172.25.254.100/timinglee/
timinglee
建立隐藏的认证文件,以.开头
下载所需的工具
[root@webserver ~]# dnf install httpd-tools -y
创建所需的认证文件
[root@webserver ~]# htpasswd -cm /etc/nginx/.htpasswd admin
New password:
Re-type new password:
Adding password for user admin
这里的用户并不是系统真实的用户
[root@webserver ~]# cat /etc/nginx/.htpasswd
admin:$apr1$.BwhiHQk$uSJKKScJdh6T.XQTnRxmX.
第二次创建
[root@webserver ~]# htpasswd -m /etc/nginx/.htpasswd timinglee
New password:
Re-type new password:
Adding password for user timinglee
[root@webserver ~]# cat /etc/nginx/.htpasswd
admin:$apr1$.BwhiHQk$uSJKKScJdh6T.XQTnRxmX.
timinglee:$apr1$b9AI5qvA$seGe4elxYymRfVTRwob0a1

打开主配置文件

[root@webserver ~]# vim /etc/nginx/nginx.conf
server {listen       80;listen       [::]:80;server_name  _;root         /usr/share/nginx/html;
​# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;
​error_page 404 /404.html;location = /404.html {}
​error_page 500 502 503 504 /50x.html;location = /50x.html {}location /timinglee/ {auth_basic on;auth_basic_user_file "/etc/nginx/.htpasswd";}
}
进行重启
[root@webserver ~]# systemctl restart nginx.service

验证

[root@webserver ~]# curl 172.25.254.100/timinglee/ -uadmin:123456
timinglee

俩种验证方式任选择

http://www.lryc.cn/news/2386487.html

相关文章:

  • 【Linux】系统程序−进度条
  • Axure应用交互设计:动态面板嵌套实现超强体验感菜单表头
  • Linux(6)——第一个小程序(进度条)
  • CentOS:搭建国内软件repository,以实现自动yum网络安装
  • [Git] 认识 Git 的三大区域 文件的修改和提交
  • RISC-V 开发板 MUSE Pi Pro USB 测试(3.0 U盘,2.0 UVC摄像头)
  • 【520 特辑】用 HTML/CSS/JavaScript 打造浪漫炫酷的表白网页
  • 小米2025年校招笔试真题手撕(二)
  • 弱网服务器群到底有什么用
  • 部署Gitlab-CE with Docker私有云环境
  • 拉普拉斯高斯(LoG)滤波器掩模的注意事项
  • 铠大师:让用户畅享多元应用,助力鸿蒙生态发展
  • RocketMQ核心特性与最佳实践
  • springboot配置redis lettuce连接池,以及连接池参数解释
  • 基于aspnet,微信小程序,mysql数据库,在线微信小程序汽车故障预约系统
  • 如何使用AI搭建WordPress网站
  • 打破双亲委派模型的实践:JDBC与Tomcat的深度解析
  • 《打破枷锁:Python多线程GIL困境突围指南》
  • Java并发编程:全面解析锁策略、CAS与synchronized优化机制
  • 2025第三届黄河流域网络安全技能挑战赛--Crypto--WriteUp
  • [爬虫知识] IP代理
  • 6个月Python学习计划 Day 1 - Python 基础入门 开发环境搭建
  • GraphPad Prism工作表的基本操作
  • Maven插件之docker-maven-plugin
  • 成年后还能学习多少知识,由大脑的这个数量决定
  • Flask 会话管理:从原理到实战,深度解析 session 机制
  • MySQL连接错误解决方案:Can‘t connect to MySQL server on ‘localhost‘ (10038)
  • 【跨端框架检测】使用adb logcat检测Android APP使用的跨端框架方法总结
  • lua脚本实战—— Redis并发原子性陷阱
  • 【MySQL】第10节|MySQL全局优化与Mysql 8.0新增特性详解