CentOS(Vagrant)上的 nginx 403 禁止

CentOS(Vagrant)上的 nginx 403 禁止

到目前为止我已经检查过:

日志 - 它们是空的,启动了一个新的虚拟机。

权限:

$ namei -l /var/www/awesome/    
f: /var/www/awesome/    
dr-xr-xr-x root     root     /    
drwxr-xr-x root     root     var    
drwxrwxr-x www-data www-data www
drwxrwxr-x www-data www-data awesome

将 777 提供给包含 vagrant 文件的主机操作系统文件夹。

已启用 SELinux。

尽管如此,即使在虚拟机中使用 curl localhost 我还是得到 403。

以下是 awesome.dev 的 nginx 配置

server {
   listen                *:80;

   server_name           awesome.dev www.awesome.dev;
     index  index.html index.htm index.php;

   access_log            /var/log/nginx/awesome.dev.access.log;
   error_log             /var/log/nginx/awesome.dev.error.log;

   location / {
     root  /var/www/awesome;
     try_files $uri $uri/ index.php /index.php$is_args$args;
   }
   location ~ \.php$ {
     root  /var/www/awesome;
     index  index.html index.htm index.php;
     fastcgi_index index.php;
     fastcgi_param SCRIPT_FILENAME $request_filename;
     fastcgi_param APP_ENV dev;
     fastcgi_pass 127.0.0.1:9000;
     fastcgi_split_path_info ^(.+\.php)(/.*)$;
     include fastcgi_params;
   }
   sendfile off;
 }

如何解决这个问题?

答案1

在 CentOS 7 上遇到了同样的问题。解决方法:

Check getenforce

这应该显示“正在执行”

然后我跑去chcon改变httpd安全上下文以允许访问。

chcon -Rt httpd_sys_content_t /path/to/web/content

重新加载Nginx

systemctl restart nginx

现在我的页面已经加载。

答案2

其内容/var/www/awesome/和权限是什么?

如果没有index.htmlindex.htmindex.php文件,nginx 将尝试列出目录内容,这在默认情况下是被禁止的(参见autoindex请参阅文档。

相关内容