您现在的位置: 365建站网 > 365学习 > Nginx/apache 出现 403 Forbidden 最终解决方法

Nginx/apache 出现 403 Forbidden 最终解决方法

文章来源:365jz.com     点击数:1040    更新时间:2017-08-22 16:07   参与评论

Nginx 出现 403 Forbidden 最终解决

常见的,引起nginx 403 forbidden有二种原因,一是缺少索引文件,二权限问题。

1、缺少index.HTML或者index.PHP文件
 

server { 
  listen       80; 
  server_name  localhost; 
  index  index.php index.html; 
  root  /var/www;
}

如果在/var/www下面没有index.php,index.html的时候,直接访问域名,找不到文件,会报403 forbidden。 
例如:你访问www.test.com而这个域名,对应的root指定的索引文件不存在。 
2、权限问题 
对于PHP而言,如果nginx用户没有web目录的权限,则会导致该错误。
解决办法:修改web目录的读写权限,或者是把nginx的启动用户改成目录的所属用户,重起一下就能解决。 

步骤一:

检查目录权限。权限不足的就加个权限吧。

例子:chmod -R 755 / var/www

步骤二:

打开nginx.conf

例子:vim /etc/nginx/nginx.conf

把 user 用户名 改为 user root 或 其它有高权限的用户名称即可

步骤三

如果是centos,看一下selinux是否关闭了

查看SELinux状态:

1、/usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态

SELinux status:                 enabled

2、getenforce                 ##也可以用这个命令检查

关闭SELinux:

1、临时关闭(不用重启机器):

setenforce 0                  ##设置SELinux 成为permissive模式

                              ##setenforce 1 设置SELinux 成为enforcing模式

2、修改配置文件需要重启机器:

修改/etc/selinux/config 文件

将SELINUX=enforcing改为SELINUX=disabled

重启机器即可

总结

以上所述是小编给大家介绍的Nginx 出现 403 Forbidden 最终解决方法,希望对大家有所帮助


apache 403错误 Forbidden解决方法

Apache,版本2.2.8,安装完成后,进行相关测试;配置了下php的php.in文件,再次localhost打开发现错误:HTTP 错误 403 - 禁止访问,即403 Forbidden:You don't have permission to access / on this server.

可能是权限不足引起的问题。

解决方法:

打开apache的配置文件httpd.conf,逐行检查。找到:


代码如下:

Options FollowSymLinksAllowOverride NoneOrder deny,allowDeny from all

由于配置了php后,此处“Deny from all”为拒绝一切连接。

把此行修改为 “Allow from all”,即可解决问题。

修改后的代码为:


代码如下:

Options FollowSymLinksAllowOverride NoneOrder deny,allowallow from all


浏览器里打开http://localhost,显示it works!问题解决。

总结:在apache服务器中,遇到403禁止访问时,重点关注下apache的httpd.conf配置文件中,是否有“Deny from all”这样的代码。这个可能是修改了某些配置文件后,重启apache,被自动更改的。

附,另外一个apache 403错误的例子。

apache 403错误,显示信息如下:您无权查看该网页您可能没有权限用您提供的凭据查看此目录或网页如果您确信能够查看该目录或网页,请尝试使用 192.168.1.5 主页上所列的电子邮件地址或电话与网站联系。可以单击搜索,寻找 Internet 上的信息。

HTTP 错误 403 - 禁止访问 Internet Explorer

去掉显示友好信息的钩后显示Forbidden   You don't have permission to access \ on this server.检查了一遍配置文件httpd.conf,找到这么一段:

代码如下:

Options FollowSymLinksAllowOverride NoneOrder deny,allowdeny from allSatisfy all


然后试着把deny from all中的deny改成了allow,保存后重起了apache,访问测试网站完全正常了。APACHE升级到2.2版本之后,提供和支持不少模块的支持,性能和安全上也有不少改进。以前配置好apache的httpd.conf之后,即可使用。但现在必须额外对这个文件进行其他方面的配置,不然会出现 http 403权限问题错误。

解决方法。以下为httpd.conf文件的其中一段原代码。把下面代码红色标志进行更改:


代码如下:

## Possible values for the Options directive are "None", "All",# or any combination of:# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews## Note that "MultiViews" must be named *explicitly* --- "Options All"# doesn't give it to you.## The Options directive is both complicated and important. Please see# [url]http://httpd.apache.org/docs/2.2/mod/core.html#options[/url]# for more information.#Options Indexes FollowSymLinks## AllowOverride controls what directives may be placed in .htaccess files.# It can be "All", "None", or any combination of the keywords:# Options FileInfo AuthConfig Limit#AllowOverride all## Controls who can get stuff from this server.## onlineoffline tag - don't removeOrder Deny,AllowDeny from allAllow from 127.0.0.1


红色部分更改为 Allow from all ,也就是所有访问允许通过。下面是补充:关键错误:You don't have permission to access / on this server打开网页,结果访问提示:403错误!关闭了IE的"显示友好的HTTP错误",显示没有权限访问(You don't have permission to access / on this server)!403 Forbidden主要原因分析

1你的IP被列入黑名单2你在一定时间内过多地访问此网站(一般是用采集程序),被防火墙拒绝访问了3网站域名解析到了空间,但空间未绑定此域名4你的网页脚本文件在当前目录下没有执行权限5在不