当前位置:首页 > 教程 > 正文内容

nginx403绕过(nginx403错误怎么解决)

2023-03-16 21:10:04教程1

nginx403绕过

网上也搜过好多方法大概是以下几种方法

1.添加防火墙;(由于价格太贵放弃了)

2.更换域名,发现被攻击后,立刻解析到其他域名上,把被攻击的域名停止解析(由于需要人工操作,且dns解析与停止不是实时的需要时间)

3.在nginx中拦截cc攻击

最终讨论方法是在nginx中拦截

下面说一下原理

由ios,android端 写一个对称加密算法且吧时间戳也加密进去;作为 user-agent 来访问 服务器的接口,然后在nginx中 去解密这个user-agent来检验这个加密字符串是否合法或者是否过期;如果是合法的则去调用php-fpm运行程序,如果不合法则直接返回403;

那么问题了来了 如何在nginx拦截cc攻击了,也就说如何在nginx中编程了,我一个php程序员肯定不会;这个时候需要引入一个lua控件;

单独安装lua插件太麻烦了,后来直接安装了 openresty 直接在openresty中 编写lua脚本,成功防御了cc攻击

nginx403错误怎么解决

nginx代理出现403异常,可通过以下几个原因排查:

一、由于启动用户和nginx工作用户不一致所致

1.1查看nginx的启动用户,发现是nobody,而为是用root启动的

命令:ps aux | grep "nginx: worker process" | awk'{print $1}'

1.2将nginx.config的user改为和启动用户一致,

命令:vi conf/nginx.conf

二、缺少index.html或者index.php文件,就是配置文件中index index.html index.htm这行中的指定的文件。

1. server {

2. listen 80;

3. server_name localhost;

4. index index.php index.html;

5. root /data/www/;

6. }

如果在/data/www/下面没有index.php,index.html的时候,直接文件,会报403 forbidden。

三、权限问题,如果nginx没有web目录的操作权限,也会出现403错误。

解决办法:修改web目录的读写权限,或者是把nginx的启动用户改成目录的所属用户,重启Nginx即可解决

1. chmod -R 777 /data

2. chmod -R 777 /data/www/

四、SELinux设置为开启状态(enabled)的原因。

4.1、查看当前selinux的状态。

1. /usr/sbin/sestatus

4.2、将SELINUX=enforcing 修改为 SELINUX=disabled 状态。

1. vi /etc/selinux/config

2. #SELINUX=enforcing

3. SELINUX=disabled

4.3、重启生效。reboot。

1. reboot

nginx403错误简单解决办法

这个是nginx出现403 forbidden最常见的原因。为了保证文件能正确执行,nginx既需要文件的读权限,又需要文件所有父目录的可执行权限。

例如,当访问/usr/local/nginx/html/image.jpg时,nginx既需要image.jpg文件的可读权限,也需要/, /usr,/usr/local,/usr/local/nginx,/usr/local/nginx/html的可以执行权限。解决办法:设置所有父目录为755权限,设置文件为644权限可以避免权限不正确。

nginx403 forbidden

1、打开浏览器

2、点击右上角三个点符号

3、点击更多工具

4、接着点击清除浏览数据

5、选择时间范围,点击清除数据

6、数据清理完成后,重新启动浏览器,即可解决问题

nginx403forbidden是什么意思

一、由于启动用户和nginx工作用户不一致所致

1.1查看nginx的启动用户,发现是nobody,而为是用root启动的

命令:ps aux | grep "nginx: worker process" | awk'{print $1}'

1.2将nginx.config的user改为和启动用户一致,

命令:vi conf/nginx.conf

二、缺少index.html或者index.php文件,就是配置文件中index index.html index.htm这行中的指定的文件。

1. server {

2. listen 80;

3. server_name localhost;

4. index index.php index.html;

5. root /data/www/;

6. }

如果在/data/www/下面没有index.php,index.html的时候,直接文件,会报403 forbidden。

三、权限问题,如果nginx没有web目录的操作权限,也会出现403错误。

解决办法:修改web目录的读写权限,或者是把nginx的启动用户改成目录的所属用户,重启Nginx即可解决

1. chmod -R 777 /data

2. chmod -R 777 /data/www/

四、SELinux设置为开启状态(enabled)的原因。

4.1、查看当前selinux的状态。

1. /usr/sbin/sestatus

4.2、将SELINUX=enforcing 修改为 SELINUX=disabled 状态。

1. vi /etc/selinux/config

2.

3. #SELINUX=enforcing

4. SELINUX=disabled

4.3、重启生效。reboot。

1. reboot

重启php以及nginx

killall php-fpm && php-fpm &

nginx -s reload

nginx403错误

404应该是找不到,确认访问的地址是否存在

forbiden 一般都是403 确认是否访问的资源是否有访问权限

你是不是弄错了

本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.

本文链接:https://www.xibujisuan.cn/98750141.html