CentOS (Vagrant) で nginx 403 が禁止される

CentOS (Vagrant) で nginx 403 が禁止される

これまでに確認したこと:

ログ - 空です。新しい VM が起動されました。

権限:

$ 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

Vagrant ファイルがあるホスト OS フォルダーに 777 を指定します。

SELinux を有効にしました。

それでも、VM 内で 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

「Enforcing」と表示されるはずです

次に、chconアクセスを許可するように httpd セキュリティ コンテキストを変更しました。

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

Nginxをリロード

systemctl restart nginx

これでページが読み込まれます。

答え2

コンテンツ/var/www/awesome/とその権限は何ですか?

index.htmlindex.htmまたはファイルが存在しない場合index.php、nginx はディレクトリの内容を一覧表示しようとしますが、これはデフォルトでは禁止されています (cf.autoindexドキュメンテーション)。

関連情報