'Symfony nginx reverse proxy on folder

I have a simple Symfony application, using Webpack Encore.

I also have a nginx server, with this below configuration to access to my Symfony app:


server {
    listen 8080;

    server_name localhost;

    root D:/Projects/SampleApp/public;

    location / {
        root D:/Projects/SampleApp/;

        try_files /public/$uri /public/$uri /assets/$uri /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass php_farm;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_buffers 16 16k;
        fastcgi_buffer_size 32k;
    }
}

When I access to http://localhost:8080, my Symfony app works well.

I would like to add another nginx as a reverse proxy, that point http://localhost/SampleApp to http://localhost:8080.

I create this nginx configuration file :


server {
    listen 443 ssl http2 default_server;
    listen [::]:443 ssl http2 default_server;
    ssl_certificate D:/Projects/certificate.crt;
    ssl_certificate_key D:/Projects/certificate.key;

    server_name localhost;

    location /SampleApp/ {
        rewrite ^/SampleApp(/.*)$ $1 break;
        proxy_pass http://localhost:8080/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_redirect off;
    }
}

When I access to http://localhost/SampleApp/login, my Symfony login page works. But :

  • Assets are not loaded because the base doesn't contains the "SampleApp" prefix (it call http://localhost/assets/app.css instead of http://localhost/SampleApp/assets/app.css)
  • Links and redirections doesn't works too for the same problem

Do you have any ideas to resolve this problem please ?

Thanks



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source