title: Nginx error FastCGI sent in stderr: "Access to the script [folder] has been denied (see security.limit_extensions)"
body: <p>I am trying to configure my webserver using Nginx and php-fpm<br>
  I have successfully configured before in my local computer and dev server, but not now in AWS.<br>
  The only difference is I installed Nginx from a source in production server</p>
  
  <p>It gives an error like these in my /var/log/nginx/error.log </p>
  
  <pre><code>2014/03/11 11:09:19 [error] 11138#0: *1 FastCGI sent in stderr: "Access to the script '/home/ambassador-portal/ambassador-api/web' has been denied (see security.limit_extensions)" while reading response header from upstream, client: 202.62.16.225, server: brandapi.whatiwear.com, request: "GET /app_dev.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "brandapi.whatiwear.com", referrer: "http://brandapi.whatiwear.com/"
  </code></pre>
  
  <p>While the error log in php-fpm gives no error</p>
  
  <p>Here is my nginx.conf </p>
  
  <pre><code>user  root;
  worker_processes  1;
  
  events {
      worker_connections  1024;
  }
  
  
  http {
      include       mime.types;
      default_type  application/octet-stream;
  
      sendfile        on;
  
      keepalive_timeout  65;
  
      gzip  on;
  
      server {
          listen       80;
          server_name  localhost;
  
          location / {
              root   html;
              index  index.html index.htm;
          }
  
          error_page   500 502 503 504  /50x.html;
          location = /50x.html {
              root   html;
          }
      }
          include /usr/local/nginx/conf/sites-enabled/*.conf;
  }
  </code></pre>
  
  <p>Here is my nginx_host.conf </p>
  
  <pre><code>server {
      server_name brandapi.whatiwear.com;
      access_log /var/log/nginx/brandapi_access.log;
      error_log /var/log/nginx/brandapi_error.log;
      root /home/ambassador-portal/ambassador-api/web;
      disable_symlinks off;
      autoindex on;
  
      location / {
              try_files $uri $uri/ /app.php$uri?$args;
      }
  
      location ~ \.htaccess {
              deny all;
      }
  
  
      location ~ \.php$ {
              fastcgi_split_path_info ^((?U).+\.php)(.+)$;
              fastcgi_pass   127.0.0.1:9000;
              fastcgi_index  index.php;
              fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
              fastcgi_param  PATH_INFO        $fastcgi_path_info;
              fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
              include /usr/local/nginx/conf/fastcgi_params;
      }
  }
  </code></pre>
  
  <p>Here is my /etc/php5/fpm/conf/www.conf </p>
  
  <pre><code>; Start a new pool named 'www'.
  [www]
  
  listen = 127.0.0.1:9000
  listen.allowed_clients = 127.0.0.1
  
  user = ec2-user
  group = ec2-user
  
  pm = dynamic
  pm.max_children = 50
  pm.start_servers = 5
  pm.min_spare_servers = 5
  pm.max_spare_servers = 35
  
  slowlog = /var/log/php-fpm/www-slow.log
  
  security.limit_extensions = .php .php3 .php4 .php5 .html .htm
  php_admin_value[error_log] = /var/log/php-fpm/5.5/www-error.log
  php_admin_flag[log_errors] = on
  ;php_admin_value[memory_limit] = 128M
  
  ; Set session path to a directory owned by process user
  php_value[session.save_handler] = files
  php_value[session.save_path] = /var/lib/php/5.5/session
  </code></pre>
  
  <p>I've read from <a href="https://stackoverflow.com/questions/21909860/access-denied-on-nginx-and-php">access denied on nginx and php</a> and try to chmod  and I've tried the solution from <a href="https://stackoverflow.com/questions/6795350/nginx-403-forbidden-for-all-files">Nginx 403 forbidden for all files</a> and here is my result</p>
  
  <pre><code>dr-xr-xr-x  root        root  /
  drwxr-xr-x root        root  home
  drwxr-xr-x ec2-user ec2-user ambassador-portal
  drwxr-xr-x ec2-user ec2-user ambassador-api
  drwxr-xr-x ec2-user ec2-user web
  </code></pre>
  
  <p>I turned the autoindex on just for seeing if my root directory is right, the weird thing is I can open all files except PHP files</p>
  
  <p>You can see a live example at <a href="http://brandapi.whatiwear.com/" rel="nofollow noreferrer">http://brandapi.whatiwear.com/</a>  </p>
  
  <p>What is wrong with my webserver..?</p>