VPS侦探论坛

 找回密码
 注册
查看: 4404|回复: 6

[Nginx] 军哥,网页Access Denied怎么办?

[复制链接]
发表于 2020-11-16 13:01:45 | 显示全部楼层 |阅读模式

自己的一个discuz网站,因为给服务器硬盘做了个快照,然后所有页面都变成了404,折腾了好久,后来修改了挂载硬盘的路径之后,个别文件能打开了,其他网页都显示Access Denied。具体如下:


1)所有html文件都打不开,显示Access Denied,但改成htm就能打开。如同一个文件挂不同后缀 http://www.wangedou.com/index.htm 和 http://www.wangedou.com/index.html

2)p.php和phpinfo.php能打开,而原来网页的PHP都打不开,提示Access Denied。网站地址是 http://www.wangedou.com/


Nginx的日志如下:


php-fpm配置如下:

还需要什么资料,您告诉我

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 2020-11-16 15:07:57 | 显示全部楼层


如果你网站在你修改的挂载目录下面,需要同步修改对应域名虚拟主机配置文件中的网站目录为新的网站目录
按你贴出的日志php-fpm挂了
另外如果改过网站目录权限,网站目录权限属主属组也需要是www
如果改过什么配置文件,都得说一下
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 2020-11-16 21:55:06 | 显示全部楼层

之前处理404问题的时候改来改去,都记不清改过啥了,目前确定的是现在的nginx配置用的是以前的,路径我挂载的地方和原来的一样,nginx.conf应该没问题。

php-fpm文件的“user = www”和“group = www”好像改过,不知道用www对不对,但是如果把“user = www”和“group = www”改为root就提示错误;

另外网页所在目录的权限也改过,不知道正常应该是什么,我是在centos的图形界面进行修改的,所有者和组为www或者所有者和组为root都试了,都不行。

最奇怪的是,为什么htm能打开,而html就提示Access Denied,二者有啥区别?另外,p.php能打开,而portal.php就提示Access Denied,会是数据库之类的问题造成的吗?


美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 2020-11-17 08:23:24 | 显示全部楼层



flybit 发表于 2020-11-16 21:55
之前处理404问题的时候改来改去,都记不清改过啥了,目前确定的是现在的nginx配置用的是以前的,路径我挂载 ...

user和group都必须是www
贴nginx的和对应域名的配置文件看一下,是否改过php.ini中的cgi.fix_pathinfo?
网站目录文件都属组属组必须是www,不清楚怎么改,用命令 chown www:www -R  网站目录路径
网站目录文件权限644,chmod -R 644 网站目录路径,有特殊要求的目录另外再做设置
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 2020-11-17 21:21:30 | 显示全部楼层

感谢军哥,Access Denied问题解决了,过程一波三折,具体过程如下:

第一步、html和htm的问题,在nginx中加了对html的支持之后,就可以打开html后缀的文件了。
具体是把
location ~ \.(gif|jpg|jpeg|png|bmp|ico)$ {
           root /var/www/img/;
           expires 30d;
       }
改为了
location ~ \.(gif|jpg|jpeg|png|bmp|ico|html)$ {
           root /var/www/img/;
           expires 30d;
       }

我不知道原理,也不知道会有什么不良后果,当时能打开了。

第二步、Access Denied问题解决了,但我也不知道是怎么解决的,一方面我曾按您说的修改了目录权限,同时我还发现一个之前误删的问题,具体是我把硬盘快照恢复到了之前的状态,发现之前为了清除木马,我曾经改过discuz的class_core.php文件,删除了一段会让我的网站从百度跳转到一个赌博网站的代码,经过对比,发现当时删多了,误删了一句“define('IN_DISCUZ', TRUE);”,也不知道具体是哪个原因造成的。

第三步、经过第二步之后,我发现虽然网站PHP页面可以打开,但伪静态页面打不开,出现404,经过反复试验,发现经第一步添加的html支持去掉,伪静态页面html就可以打开,而一旦去掉,则正常的静态页面在打开时就会自动跳转为手机界面如下:



不知道具体原因,但问题解决了,谢谢军哥,给您添麻烦了,虽然我不懂原理,但问题解决了,也希望能够给遇到类似问题的朋友一点参考。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

军哥运维代购:http://shop63846532.taobao.com/

发表于 2020-11-18 08:51:59 | 显示全部楼层

nginx配置文件你肯定动了不少

discuz x源码都删肯定报错
 楼主| 发表于 2020-11-18 18:47:13 | 显示全部楼层

嗯嗯,改的太多,改来改去都不知改过什么了,以后还是要养成做记录的习惯。
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|VPS侦探 ( 鲁ICP备16040043号-1 )

GMT+8, 2024-11-23 11:29 , Processed in 0.028704 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表