前言

前阵子迁移了一些服务到其他服务器,其中也包括 TTRSS,部署的时候用的是 Awesome TTRSS 提供的方案与镜像

在这之前 TTRSS 一直都是运行在网站根目录下的,在这次迁移过来的时候就想着类似的几个服务干脆使用一个域名,用子目录区分,省点事

以下为 Awesome TTRSS 提供的根目录反代配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
location / {
proxy_redirect off;
proxy_pass http://127.0.0.1:181;

proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Frame-Options SAMEORIGIN;

client_max_body_size 100m;
client_body_buffer_size 128k;

proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}

解决方法

以下以子目录为 ttrss 示例

修改反代配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
location /ttrss/ {
rewrite /ttrss/(.*) /$1 break;
proxy_redirect https://$http_host https://$http_host/ttrss;
proxy_pass http://127.0.0.1:181;

proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Frame-Options SAMEORIGIN;

client_max_body_size 100m;
client_body_buffer_size 128k;

proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}

修改源码 App.js

在上一步反代修改配置完成后就已经可以进行访问并且使用,但是如果不进行这一步修改,在 打开文章注销 的时候会因为目录原因出现 404 错误
App.js 链接: https://git.tt-rss.org/fox/tt-rss.git/plain/js/App.js

  1. App.js 中的
1
form.setAttribute("action", App.getInitParam("self_url_prefix") + "/" + target);

  全部替换为

1
form.setAttribute("action", App.getInitParam("self_url_prefix") + "/ttrss/" + target);
  1. docker-compose.yml 文件中添加相应的文件映射
1
2
volumes:
- ./App.js:/var/www/js/App.js:ro
  1. 重载 Nginx 并删除容器重新启用即可