Estou tentando implantar um fórum do phpBB atrás de um balanceador de carga que distribuirá o tráfego:
https://example.com/forum/*
, redirecionar para instância A (phpbb + nginx) https://example.com/
, redirecionar para a instância B (outras coisas) 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:
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. 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?