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"?

_______________________________________________
nginx mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx

Reply via email to