Nginx configuration problem when splitting across front & backends, when using php?

I installed an Nginx server this weekend.

I got the Symfony PHP framework, and a test app, running on it, using
php-fpm, and a simple all-in-one Nginx config.

I’m trying to figure out splitting front- and back-ends using Nginx
proxy.

I set up a FrontEnd Nginx config

server {
server_name test.lan;
listen 10.0.0.1:443 ssl http2;

root  /dev/null;
access_log  /var/log/nginx/access.log  main;
error_log   /var/log/nginx/error.log  info;
autoindex  off;
rewrite_log off;
ssl on;
ssl_verify_client  off;
ssl_certificate  "ssl/test.crt";
ssl_trusted_certificate  "ssl/test.crt";
ssl_certificate_key  "ssl/test.key";
include includes/ssl.conf;

location / {
  proxy_pass http://127.0.0.1:10000;
}

}

and the Backend proxy listener for it,

server {
server_name test.lan;
listen 127.0.0.1:10000 default;
root /srv/www/test/symfony/web/;
access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/error.log info;
ssl off;
gzip off;
rewrite_log on;

location / {
  try_files $uri /app.php$is_args$args;
  fastcgi_intercept_errors on;
}

location ~ ^/(app_dev|config)\.php(/|$) {
  fastcgi_pass  http://127.0.0.1:9000;
  fastcgi_split_path_info  ^(.+\.php)(/.*)$;
  include  fastcgi_params;
  fastcgi_param  SCRIPT_FILENAME 

$realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
}

location ~ ^/app\.php(/|$) {
  fastcgi_pass  http://127.0.0.1:9000;
  fastcgi_split_path_info  ^(.+\.php)(/.*)$;
  include  fastcgi_params;
  fastcgi_param  SCRIPT_FILENAME 

$realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
internal;
}
}

When I start Nginx I get no errors.

When I visit

https://test.lan/

I see

Welcome to Symfony 3.0.1

Your application is ready to start working on it at:
/srv/www/test/symfony/

So that’s the same as with the all-in-one Nginx config.

But, with this split config I’m trying out, when I visit

https://test.lan/app.php

I get

404 Not Found

And when I visit

https://test.lan/app_dev.php

I get

File access denied. cref: app_dev.php for more info.

Since I got this working right in my all-in-one config, but not in my
split-config, I guess the problem’s in my config and not with Symfony or
php-fpm.

How come I can get “/” working but not either “/app.php” or
“/app_dev.php”?

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs