403 禁止 nginx (nginx/1.8.0)

403 禁止 nginx (nginx/1.8.0)

我刚刚在 DigitalOcean 上获得了一个新服务器,想尝试一些其他的东西。我想启动一个 wordpress 网站,因此我按照以下 1-3 个步骤操作:https://deliciousbrains.com/hosting-wordpress-yourself-nginx-php-mysql/。一开始一切都很顺利,我确实成功安装了 wordpress。不幸的是,我的网站目前出现 403 Forbidden 错误。

我使用的是 Ubuntu 14.04 x64。我已经卡了好一会儿了,仍然不知道发生了什么。我甚至尝试删除 Nginx 并重新安装,但情况仍然一样。

这是我的配置文件:

用户 sylvia;
工作进程 1;
pid /运行/nginx.pid;

事件 {
        工作者连接1024;
        # 多接受开启;
}

http {

        ##
        # 基本设置
        ##

        发送文件;
        tcp_nopush 开启;
        tcp_nodelay开启;
        保持活动超时 15;
        类型_hash_max_size 2048;
        # 服务器令牌关闭;
        客户端最大主体大小64米;

        #服务器名称_哈希桶大小 64;
        #服务器名称_in_redirect 关闭;

        包括/etc/nginx/mime.types;
        默认类型应用程序/八位字节流;

        ##
        # 日志设置
        ##

        访问日志/var/log/nginx/access.log;
        错误日志/var/log/nginx/error.log;

        ##
        # Gzip 设置
        ##

        开启 gzip;
        gzip_禁用“msie6”;

        #gzip_vary开启;
        #gzip_proxied任何;
        #gzip_comp_level 2;
        #gzip_buffers 16 8k;
        #gzip_http_版本 1.1;
        # gzip_types 文本/纯文本/css 应用程序/json 应用程序/javascript 文本/xml 应用程序/xml 应用程序/xml+rss 文本/javascript;

        ##
        # 虚拟主机配置
        ##

        包括/etc/nginx/conf.d/*.conf;
        包括/etc/nginx/sites-enabled/*;

       服务器 {
              听 80 默认服务器;
               服务器名称 _;
               返回444;
                    }

任何想法?

答案1

最有可能是权限问题。授予 www-data 用户访问您的 Web 根目录的权限。您也可以授予所有权。

chown -R www-data:www-data /path/to/your/directory

答案2

禁止意味着 NGINX 无法打开存储文件的目录。

NGINX error_logs 将为您提供问题的确切原因。

日志存储在 /var/logs/nginx/error_log 中。只需打开文件并转到最后几行,即可查看您遇到的确切错误。

理想情况下,执行 chmod 755 目录将解决该问题。

答案3

我也遇到了 403 问题,这是由目录模式引起的。

我将根目录设置在home下,home目录的默认模式是600。

然后我发现了这篇文章https://gist.github.com/jhjguxin/6208474,并尝试将根目录改为755,问题解决。

因此,Ubuntu 12.04 中用户主目录的默认权限似乎为 700。**Nginx 需要对要提供的文件具有读取权限,并且对从根目录到所提供文件的路径中的每个父目录具有执行权限。**

您可以通过运行以下命令授予用户目录这些权限:

chmod 701 用户主目录

您也可以使用 755,这是许多系统上主目录的默认权限设置。

只要 nginx 运行的用户/组(如 nginx.conf 中所定义)对所有要提供的文件具有读取权限并对所有关 Web 根目录具有执行权限,则 Web 根目录中的目录/文件可以属于 www-data 用户或您的常规个人用户。

答案4

如果您只是想列出目录内容,请使用autoindex on;如下方法:

location /somedir {
       autoindex on;
}

相关内容