phpBB em uma subpasta atrás de nginx

1

Estou tentando implantar um fórum do phpBB atrás de um balanceador de carga que distribuirá o tráfego:

  • Se https://example.com/forum/* , redirecionar para instância A (phpbb + nginx)
  • Qualquer outro caminho em https://example.com/ , redirecionar para a instância B (outras coisas)
Portanto, desejo ter o phpBB instalado na instância A e disponível em https://example.com/forum/ .

Na instância A, estou executando o nginx. Aqui está o meu nginx.config (apenas com as coisas importantes):

http {
    server {
        listen [::]:443 http2 ssl default_server;
        listen      443 http2 ssl default_server;
        server_name example.com;

        # PHP BB
        root /var/www/mysite/forum/src;

        # fastcgi
        include /etc/nginx/conf.d/fastcgi-php.conf;

        location /forum {
            index index.php index.html index.htm;
            rewrite ^/forum/(.*) /$1 break;
            try_files $uri $uri/ @rewrite_app;
        }

        location ~ \.php(/|$) {
            try_files $uri $uri/ /app.php$is_args$args;
            fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        }

        location @rewrite_app {
            rewrite ^(.*)$ /app.php/$1 last;
        }
    }
}

Aqui estão meus problemas:

  • Quando visito https://example.com/forum/ , o fórum é carregado, mas todos os links internos são gravados sem o caminho /forum/ , fazendo com que o balanceador de carga redirecione para a instância B.
  • Quando visito https://example.com/forum/index.php , os links internos são gravados corretamente com o caminho /forum/ , mas recebo um aplicativo phpBB 404 The page is not found .

O que estou fazendo de errado?

    
por Starscream 12.04.2018 / 10:20

0 respostas