Nginx 访问控制

发布时间:2024年01月06日

?

目录

1. 传输层禁止访问

?2. 应用层访问控制


访问控制有两个方式,一种是在OSI模型的四层传输层,一种是在第七层应用层。

主机防火墙就是在四层传输控制,nginx就是在七层应用控制。

1. 传输层禁止访问

在进行访问控制前,先开启防火墙

systemctl start firewalld.service

比如我先查看我的虚拟机系统连接了那些? ip 地址

可以看到192.168.164.1,这是NAT模式的网卡的网关,也就是们的物理机其实是使用的VMnet8 虚拟网卡的ip地址进行连接的,如果我通过防火墙将这个ip地址给封了,那么再建立新的ssh连接应该就连不上这个虚拟机了。

?直接在终端执行下面的命令行进行访问禁止

firewall-cmd --add-rich-rule='rule family=ipv4 source address="192.168.164.1" drop'

?连接看效果

ssh 连接不上

?之前部署的网站也访问不了

?这是因为我在传输层直接把 ip 禁止了,想要恢复访问的话就关闭防火墙

systemctl stop firewalld.service

?或者释放出来

firewall-cmd --remove-rich-rule='rule family=ipv4 source address="192.168.164.1" drop'

?2. 应用层访问控制

在进行访问控制前,先将防火墙关闭

systemctl stop firewalld.service

allow 允许;加入白名单,允许访问

deny 拒绝;拉黑的,加入黑名单,被禁止访问

?比如我在我的 a.fly.com 网站进行访问控制,就直接在 server 配置文件中加入 allow、deny

deny 192.168.164.1; # 黑名单,不允许192.168.61.1访问这个网站
allow 0.0.0.0/0; # 白名单,0.0.0.0/0表示所有ip都在白名单

?

?然后进行访问查看效果,控制成功

?可以查看日志,

cat /var/log/nginx/error.log

七层禁止、没有首页html文件、文件没有读取权限,比如nginx访问某些文件,用的nginx用户身份,如果某个网站的文件,nginx用户没有读取权限,那么也是403

文章来源:https://blog.csdn.net/m0_60494863/article/details/135432658
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。