Назад | Перейти на главную страницу

Как правильно настроить Tracd за Nginx?

Бег tracd и прямой доступ к его сети работает нормально.

Однако я хочу, чтобы он сидел за nginx и был доступен, перейдя в example.com/trac/.

С этой целью я внес следующие изменения в конфигурацию nginx:

location /trac/ {
    proxy_pass http://127.0.0.1:3456/; # tracd listens there
    proxy_redirect default;
    proxy_set_header Host $host;
}

Посещение example.com/trac/ теперь показывает мне сломанную домашнюю страницу Trac, где ни один из файлов CSS, JS или изображений не загружается, потому что все эти другие запросы отправляются на что-то вроде example.com/css, вместо того example.com/trac/css.

Как я могу это исправить?

Как мне заставить Trac понять, что example.com/trac/, и нет example.com/?

Спасибо!

Редактировать: Я установил следующие trac.ini настройки и перезапуск tracd, но проблема не устранена:

base_url = https://example.com/trac/
use_base_url_for_redirect = true

Это кажется определяющим base_url и use_base_url_for_redirect больше не работает.

Вместо этого используйте --base-path вариант при запуске tracd прямо.

Итак, теперь я бегу tracd как это:

tracd /path/to/trac/dir --base-path=trac

Конфигурация nginx становится проще:

location /trac/ {
    proxy_pass http://127.0.0.1:3456/trac/;
    proxy_redirect default;
    proxy_set_header Host $host;
}

Кажется, это работает.