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的启动用户改成目录的所属用户,重起一下就能解决。 如:


代码如下:

chown -R nginx_user:nginx_user /htdocs

【注意】:修改完配置别忘了重启nginx服务

(0)

相关推荐

  • Nginx伪静态配置和常用Rewrite伪静态规则集锦

    nginx里使用伪静态是直接在nginx.conf 中写规则的,并不需要像apache要开启写模块(mod_rewrite)才能进行伪静态. nginx只需要打开nginx.conf配置文件,在server里面写需要的规则即可. 复制代码 代码如下: server { listen       80; server_name  bbs.jb51.net; index index.html index.htm index.php; root  /home/www/bbs; error_page 

  • Nginx的使用经验小结

    Nginx Nginx简单介绍 一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器 Nginx命令参数 nginx -t 测试配置是否正确 nginx -s reload 加载最新配置 nginx -s stop 立即停止 nginx -s quit 优雅停止 nginx -s reopen 重新打开日志 kill -USR2 cat /usr/local/nginx/logs/nginx.pid 快速重启 Nginx全局段配置 worker_processes

  • 权限问题导致Nginx 403 Forbidden错误的解决方法

    今天在一个新的环境上安装nginx,结果访问的都是403 通常显示403我立马都会想到路径配置不对,但我仔细看了一下,目录路径没问题: nginx.conf: 复制代码 代码如下: server {         listen       80;         server_name  localhost;           #charset koi8-r;           #access_log  logs/host.access.log  main;           locat

  • CentOS+Nginx+PHP+MySQL详细配置(图解)

    一.安装MySQL 目前web服务器已经很少有跑静态页面的,如果要跑动态网站那当然就离不开数据库,虽然在以前文章中有写MySQL是怎么安装的,但是感觉好久没装MySQL,现在只把步骤贴出来,就不做过多的讲解了 #useradd mysql #tar zxvf mysql-5.0.40.tar.gz #cd mysql-5.0.40 #./configure --prefix=/usr/local/mysql #make && make install #/usr/local/mysql/b

  • Windows下Nginx+PHP5的安装与配置方法

    以下是我在 Windows 2003 安装中 Nginx 和 PHP5.2 的步骤,但windows版本的nginx性能要比Linux/Uninx版本的Nginx差太多. 安装 PHP5首先,从 http://www.php.net/downloads.php 下 载最新的 PHP5.2.9-2 Windows 版本,解压至 C:\php,把压缩包中的 php.ini-recommended,更名为 php.ini,然后打开修改几个选项: error_reporting = E_ALLdispl

  • Nginx下301重定向域名的方法小结

    linux中nginx 301重定向跳转方法总结,有需要的朋友可参考一下. 第一种情况:访问aaaaaaa站定向到bbbbbbbbbbb站 复制代码 代码如下: server { server_naaaaaaame www.aaaaaaa.com ; rewrite ^(.*) http://www.bbbbbbbbbbb.com$1 permaaaaaaanent; } 第二种情况:不是访问aaaaaaa站的全部重定向到指定页面 复制代码 代码如下: server { server_naaaa

  • nginx 多站点配置方法集合

    那么我们开始吧: 1.为我们的站点创建配置文件 我是这么做的,在nginx的配置文件conf目录下创建一个专门存放VirtualHost的目录,命名为vhosts_conf,可以把虚拟目录的配置全部放在这里.在里面创建名为vhosts_modoupi_websuitA.conf的配置文件并打开,我们在这里做配置,往里面写: 复制代码 代码如下: server { listen 80; #监听的端口号 server_name websuitA.com; #域名 #access_log logs/h

  • nginx提示:500 Internal Server Error错误的解决方法

    现在越来越多的站点开始用 Nginx ,("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了.Igor 将源代码以类BSD许可证的形式发布. 在高并发连接的情况下,Nginx是Apache服务器不错的替代品.Nginx同时也可以作为7层负载均衡服务器来使用.根据测试结果,Nginx 0.6

  • nginx FastCGI错误Primary script unknown解决办法

    在centos上成功编译安装nginx 1.4.php 5.4并成功启动nginx和php-fpm后,访问php提示"File not found.",同时在错误日志中看到: 复制代码 代码如下: 2013/10/22 20:05:49 [error] 12691#0: *6 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, cl

  • 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的时候,直接访问域名,找不到文件,会报40

  • 详解Nginx 出现 403 Forbidden 的解决办法

    Nginx 也是当前流行的一款 轻量级服务器  在日常使用中呢 也会出现一些问题  今天 学习君 在安装配置Nginx的时候就出现了 403 Forbindden 的被禁止访问的错误   网上搜索之后呢 完美解决  这里给大家分享下 话不多说 先粘 上 原版nginx 配置文件代码 worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/

  • Nginx 403 forbidden错误的原因以及解决方法

    目录 一.由于启动用户和nginx工作用户不一致所致 1.1查看nginx的启动用户,发现是nginx,而为是用root启动的 1.2将nginx.config的user改为和启动用户一致, 1.3 也可以使用如下命令直接查看 二.缺少index.html,就是配置文件中index index.html index.htm这行中的指定的文件. 三.权限问题,如果nginx没有web目录的操作权限,也会出现403错误. 总结 一.由于启动用户和nginx工作用户不一致所致 1.1查看nginx的启

  • nginx常见问题整理和解决办法

    以下就是我们整理的nginx常见的问题,解决办法我们例举了1-2种,大家可以都测试下. 常见问题 问题一:相同server_name多个虚拟主机优先级访问 server{ listen 80; server_name server1; location{...} } server{ listen 80; server_name server2; location{...} } 解决方法: 配置两个conf文件:server1.conf 和 server2.conf 根据Linux系统中文件顺序读

  • django中使用jquery ajax post数据出现403错误的解决办法(两种方法)

    在django中,使用jquery ajax post数据,会出现403的错误 方法一: 如果用jQuery来处理ajax的话,Django直接送了一段解决问题的代码.把它放在一个独立的js文件中,在html页面中都引入即可.注意这个js文件必须在jquery的js文件引入之后,再引入即可 $(document).ajaxSend(function(event, xhr, settings) { function getCookie(name) { var cookieValue = null;

  • 详解Centos7中Nginx开机自启动的解决办法

    关于在centos7中设置Nginx开机自启动,我们可以通过编写开机自启动shell脚本来解决. 测试环境 操作系统:centos7 64位 1611 Nginx版本: 1.11.10 本机Nginx安装时的配置参数 ./configure \ --prefix=/usr/local/nginx \ --pid-path=/usr/local/nginx/logs/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --error-log-path=/v

  • PHP Curl出现403错误的解决办法

    自己用的小PHP应用,使用curl抓网页下来处理,为了穿墙方便,使用Privoxy作为代理,便于选择哪些网站使用proxy.哪些不用.但今天却遇到了奇怪的问题,访问google baidu这些网站居然都返回403错误,而访问其他的一些网站没事,如果设置为不使用proxy则都能正常访问. 难道google baidu就不让用proxy连接么?显然不可能,所以打开curl的信息输出(curl_setopt($this->mSh, CURLOPT_VERBOSE, 1);)看看,得到以下结果: 复制代

  • Nginx报403 forbidden错误 (13: Permission denied)的解决办法

    查看/var/log/nginx/error.log日志显示:xxx 403 forbidden (13: Permission denied)错误.我勒个去~ 引起nginx 403 forbidden通常是三种情况:一是缺少索引文件,二是权限问题,三是SELinux状态. 一.缺少index.html或者index.PHP文件,就是配置文件中index index.html index.htm这行中的指定的文件 server { listen 80; server_name localhos

  • 详解linux中 Nginx 常见502错误问题解决办法

    常见的Nginx 502 Bad Gateway解决办法如下: Nginx 502错误情况1: 网站的访问量大,而php-cgi的进程数偏少. 针对这种情况的502错误,只需增加php-cgi的进程数.具体就是修改/usr/local/php/etc/php-fpm.conf 文件,将其中的max_children值适当增加.这个数据要依据你的VPS或独立服务器的配置进行设置.一般一个php-cgi进程占20M内存,你可以自己计算下,适量增多. /usr/local/php/sbin/php-f

随机推荐