I’ve been using Docker-Compose (static) with Caddy as my front end for almost a year now. I noticed awhile back that it had been deprecated in favor of nginx, but web-ssl was left as an option. Today, I went to update and noticed that nginx is now the only available front-end docker-static option. It’s a change I had been planning to make, anyway, so I decided to plunge headfirst into it. However, I’m having a few configuration issues.

I realize the issues I’m having have nothing whatsoever to do with ttrss, but I hope you’ll indulge me as the solution may help others. I’m running on a small Linode VPS. I have installed nginx as a front-end reverse proxy (hope I’m saying that correctly) as I’m planning to host a syncthing server here as well. At first, everything seems to be working well. When I enter ‘https://sub.domain.com’ into the address bar, I’m greeted with the login page. After logging in, it displays ‘This site can’t be reached. localhost refused to connect.’. However, if I paste ‘https://sub.domain.com’ into to address bar everything works great again, until I log out.

I’m running latest docker-static config and latest version of tt-rss. Can anyone point me in the right direction?

Relevant data is below:

current .env
TTRSS_DB_USER=postgres
TTRSS_DB_NAME=postgres
TTRSS_DB_PASS=MyPassword

TTRSS_SELF_URL_PATH=https://localhost:8280/tt-rss/

HTTP_PORT=127.0.0.1:8280
nginx front-end server config file: ttrss.conf
server {
  listen 80;
  listen [::]:80;

  server_name sub.domain.com;

  location / {
      proxy_pass http://localhost:8280/;
      proxy_set_header X-Forwarded-Proto $scheme;
  }

    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/sub.domain.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/sub.domain.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}
Relevant portion of the web-nginx container log, up to login (last line):
web-nginx_1  | 172.21.0.1 - - [07/Mar/2021:22:47:24 +0000] "GET /tt-rss/ HTTP/1.0" 200 5088 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"
web-nginx_1  | 172.21.0.1 - - [07/Mar/2021:22:47:24 +0000] "GET /tt-rss/lib/dojo/dojo.js?1614877249 HTTP/1.0" 200 145091 "https://sub.domain.com/tt-rss/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"
web-nginx_1  | 172.21.0.1 - - [07/Mar/2021:22:47:24 +0000] "GET /tt-rss/lib/dojo/tt-rss-layer.js?1614877249 HTTP/1.0" 200 456985 "https://sub.domain.com/tt-rss/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"
web-nginx_1  | 172.21.0.1 - - [07/Mar/2021:22:47:24 +0000] "GET /tt-rss/js/common.js?1614877248 HTTP/1.0" 200 10849 "https://sub.domain.com/tt-rss/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"
web-nginx_1  | 172.21.0.1 - - [07/Mar/2021:22:47:24 +0000] "GET /tt-rss/js/utility.js?1614877248 HTTP/1.0" 200 1480 "https://sub.domain.com/tt-rss/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"
web-nginx_1  | 172.21.0.1 - - [07/Mar/2021:22:47:24 +0000] "GET /tt-rss/lib/dojo/selector/acme.js HTTP/1.0" 200 13002 "https://sub.domain.com/tt-rss/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"
web-nginx_1  | 172.21.0.1 - - [07/Mar/2021:22:47:24 +0000] "GET /tt-rss/lib/dojo/nls/tt-rss-layer_en-us.js HTTP/1.0" 200 5177 "https://sub.domain.com/tt-rss/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"
web-nginx_1  | 172.21.0.1 - - [07/Mar/2021:22:47:24 +0000] "GET /tt-rss/themes/light.css?1615157244244 HTTP/1.0" 200 45326 "https://sub.domain.com/tt-rss/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"
web-nginx_1  | 172.21.0.1 - - [07/Mar/2021:22:47:24 +0000] "GET /tt-rss/images/favicon.png HTTP/1.0" 200 2774 "https://sub.domain.com/tt-rss/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"
web-nginx_1  | 172.21.0.1 - - [07/Mar/2021:22:47:24 +0000] "GET /tt-rss/lib/flat-ttrss/flat_combined.css HTTP/1.0" 200 130554 "https://sub.domain.com/tt-rss/themes/light.css?1615157244244" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"
web-nginx_1  | 172.21.0.1 - - [07/Mar/2021:22:47:25 +0000] "GET /tt-rss/lib/dojo/resources/blank.gif HTTP/1.0" 200 43 "https://sub.domain.com/tt-rss/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"
web-nginx_1  | 172.21.0.1 - - [07/Mar/2021:22:47:25 +0000] "GET /tt-rss/lib/flat-ttrss/fonts/flat-icon.ttf?90nq1s HTTP/1.0" 200 13436 "https://sub.domain.com/tt-rss/lib/flat-ttrss/flat_combined.css" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"
web-nginx_1  | 172.21.0.1 - - [07/Mar/2021:22:47:43 +0000] "POST /tt-rss/public.php HTTP/1.0" 200 39 "https://sub.domain.com/tt-rss/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"
web-nginx_1  | 172.21.0.1 - - [07/Mar/2021:22:47:56 +0000] "POST /tt-rss/public.php?return=https%3A%2F%2Flocalhost%3A8280%2Ftt-rss%2F HTTP/1.0" 302 0 "https://sub.domain.com/tt-rss/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"
                                                                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

TTRSS_SELF_URL_PATH should be the URL you (in your browser) use to get to tt-rss.

https://git.tt-rss.org/fox/ttrss-docker-compose/src/branch/master/README.md#edit-configuration-files
https://git.tt-rss.org/fox/ttrss-docker-compose/wiki#how-do-i-put-this-container-behind-a-reverse-proxy

When I put my actual url into my env, I always get the following error:
Please set SELF_URL_PATH to the correct value detected for your server: https://localhost:8280/tt-rss (you're using: https://sub.domain.com/tt-rss)

Thanks for that second link!. Somehow I missed that in my searching. I’m certain I’ll find somehting useful there.

Probably due to missing proxy_set_header (see the second link).

That’s it! Once I followed all the proxy_set_header examples included in that link, it worked like a champ. Thanks so much!

I’m actually ashamed it was right there, hidden in plain sight. I normally pride myself on doing thorough searches, Not this time! I give myself a One year Ban!