-
-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Background downloader does not take HTTP configuration into account causing asset downloads to fail for certain HTTP configurations #14945
Comments
I have the exact same problem, didged always-on VPN and started using mTLS a while ago and now the wifey started complaining that she's constantly unable to download pictures out of my shared album. Edit: Edit 2: |
I think this is the issue I'm currently facing. I have nginx as a reverse proxy in the middle with a custom PKI, and apparently cannot download any file from the app nor can I stream a video that I don't locally have. The nginx logs don't see anything being accessed from the app at all, not during a video stream request, nor when I try to download a file. Web app works fine. P.S. It's enough to just run a custom PKI, configuring client certificate is not necessary to trigger the issue. I currently attribute my issue to the "ignore custom certificate errors" flag not being passed through. Reconfiguring the proxy to allow http fixes this issue for me... until the issue is closed. |
This seems like a bad idea. A better "workaround" would be using real WebPKI certificates. |
I currently attribute my issue to the "ignore custom certificate errors" flag not being passed through. That could be the case, my PKI is private as well. |
I already evaluated risk-benefit. Not gonna do that. My instance is not public anyways and is only accessed through LAN or VPN. I can survive with unencrypted traffic for a while. I don't have the resources nor willpower nor any plan to make it a public instance just to have letsencrypt serve me a certificate for a private server with a subdomain that's completely local to my LAN, just to work around an evident bug. Edit: of course other people should do their evaluations. For public facing instances you certainly don't want to run HTTP mode. |
Yup, another issue with Immich is that you need to flag the "ignore self signed cert" or the instance doesn't work. Technically the certificate is in fact NOT self signed, it's just been signed by a CA that immich does not recognize. Even if I install the root CA on my android phone (which I did right as I configured my root CA...) Immich does not take that into account, au contraire I have other apps that don't have this issue i.e. Jellyfin, Nextcloud, NTFY... |
You don't have to make something publically accessible to get a let's encrypt cert. For example you can use a DNS-01 type challenge, which also lets you get a wildcard certificate if you like. |
Yes but I can't generate certificates with years of lifetime for my private services that require certificates but not the redicules enterprise grade expiration dates, so that's means having to keep monitoring certification expiration or my local services start failing if renewalls didnt succeed.. |
i just created a guide documenting how to securely setup TLS reverse proxy on the Internet for anywhere Immich mobile app use. you can review these docs, https://github.com/ckuyehar/immich/blob/ckuyehar-docs-updates/docs/docs/guides/remote-access.md and https://github.com/ckuyehar/immich/blob/ckuyehar-docs-updates/docs/docs/administration/reverse-proxy-tls.md please note: this doesn't resolve the issue - this merely works around the existing capabilities of Immich today |
Closed as "Not planned"? |
As explained in #15230 the dev team does not plan to work on these experimental features but if someone is interested in writing a PR we will consider it. |
The bug
The user can configure certain HTTP-related features; in my case I came across this issue because I use client certificate validation (mutual TLS / mTLS).
Some features in Immich use the
background_downloader
package. E.g. when downloading an asset. The HTTP configuration is not passed to this background_downloader package, causing all HTTP requests to fail.In my case this means I'm unable to download assets.
Code reference
The OS that Immich Server is running on
Cloudflare Tunnel
Version of Immich Server
1.123.0
Version of Immich Mobile App
1.123.0
Platform with the issue
Your docker-compose.yml content
irrelevant
Your .env content
Reproduction steps
...
Relevant log output
Nothing relevant in the logs
Additional information
No response
The text was updated successfully, but these errors were encountered: