运行tracd并直接访问它的网站工作正常。
但是,我希望它位于nginx后面,可访问example.com/trac/访问。
为此,我对nginxconfiguration进行了以下更改:
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不再起作用。
而是直接运行tracd时使用--base-path选项。
所以现在我运行tracd像这样:
tracd /path/to/trac/dir --base-path=trac
而Nginx的conf变得更简单:
location /trac/ { proxy_pass http://127.0.0.1:3456/trac/; proxy_redirect default; proxy_set_header Host $host; }
这似乎工作。