Como configurar corretamente o Tracd por trás do Nginx?

2

Executar tracd e acessar sua Web diretamente funciona bem.

No entanto, quero que ele esteja por trás do nginx, acessível acessando example.com/trac/ .

Para isso, fiz a seguinte alteração na configuração do nginx:

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

Visitar example.com/trac/ agora mostra uma página inicial do Trac quebrada, onde nenhum dos arquivos CSS, JS ou de imagem são carregados porque todas essas outras solicitações são enviadas para algo como example.com/css , em vez de example.com/trac/css .

Como posso corrigir isso?

Como faço o Trac perceber que está em example.com/trac/ e não em example.com/ ?

Obrigado!

Editar: defini as seguintes configurações de trac.ini e reiniciei tracd , mas o problema persiste:

base_url = https://example.com/trac/
use_base_url_for_redirect = true
    
por liszt 18.07.2015 / 14:30

1 resposta

3

Parece que definir base_url e use_base_url_for_redirect não funciona mais.

Em vez disso, use a opção --base-path ao executar tracd diretamente.

Então, agora eu executo tracd assim:

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

E o nginx conf se torna mais simples:

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

Isso parece funcionar.

    
por 18.07.2015 / 15:08

Tags