phpBB в подпапке за nginx

Я пытаюсь развернуть форум phpBB за балансировщиком нагрузки, который будет распределять трафик:

  • Если https://example.com/forum/*, перенаправить на экземпляр A (phpbb + nginx)
  • Любой другой путь на https://example.com/, перенаправить на экземпляр B (прочее)

Поэтому я хочу, чтобы phpBB был установлен на экземпляре A и доступен в https://example.com/forum/,

На экземпляре A я запускаю nginx. Вот мой nginx.config (только с важными вещами):

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;
        }
    }
}

Вот мои проблемы:

  • Когда я посещаю https://example.com/forum/ форум загружается но все внутренние ссылки пишутся без /forum/ путь, перенаправляющий балансировщик нагрузки на экземпляр B.
  • Когда я посещаю https://example.com/forum/index.php, внутренние ссылки написаны правильно с /forum/ путь, но я получаю приложение phpBB 404 The page is not found,

Что я делаю неправильно?

0 ответов

Другие вопросы по тегам