-
-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
upload doesn't work while using an SSL Client Certificate #11870
Comments
I was having upload issues after putting nginx in front of my immich server. |
As my issue was unfortunately moved to discussions I can tell you I have the exact same issue but don't use a self-hosted reverse proxy. Instead I use a Cloudflare Tunnel. I can't find any logs there but my issue is exactly the same. Can do everything in instance, only mobile uploading is not working. |
the problem seems to have solved itself for whatever reason unknown to me. |
to complement my comment: if I disable the mTLS requirement on cloudflare (that of course, I'd like to keep), background backup works flawlessly. |
Not for me unfortunetaly. |
These problems are similar enough to be tracked in one issue. |
@PottiMc are you also using mTLS on cloudflare? |
No, I am not. Only a cloudflare tunnel to my instance. Everything worked fine before updating to 1.112. I still don't know why my issue was moved to discussions, but you can find all my comments here: #11873 |
maybe @yjiang-c as owner of the mTLS PR implementation can have a look here? |
I cannot reproduce the issue with my iPhone and Ngnix reverse proxy server. I checked the source code and cannot find any different between upload (POST) and download (GET), both use the same http client stack. |
As you can see in my discussion #11873 my issue got solved because cloudflare changed something in their Managed Firewall Ruleset. @sebpapillon maybe you are running a firewall aswell? |
thanks for checking @yjiang-c ! I'm configuring an iPhone to do the same test, just for clarity, did you check that the "automatic background backup" is working properly with mTLS certificate? because in my scenario, the foreground backup and the manual upload is working without any issue, but when the background upload triggers, I see the requests sent do not contain the mTLS certificate. |
@neothematrix Yeah, I can confirm that background backup with SSL client certificate does not work. In addition, I think that background backup does not work with server with self signed certificate. Background back runs in different process/zone in which http SSL options are not set properly. I will create MR to fix it. |
Thanks a lot @yjiang-c that's really appreciated! While you're at it, any chance you could look into a similar issue? #5553 (comment) However, not sure it's very easy to fix and it's probably platform dependent, it looks like the same SSL options are not passed to external players used to playback videos. Again, thank you so much and I'll be very happy to test anything that need to be tested! |
@neothematrix #5553 is not easy to be resolved. The video player used in immich mobile is a flutter plugin, which does not support customised HTTPS options. In immich side, we can only fix it by totally replacing the video player and rewrite a new video player from scratch. |
@yjiang-c thanks a lot for the PR, hopefully it will be accepted and merged soon! |
…11870) (#12206) Co-authored-by: Yun Jiang <[email protected]>
tested with the updated app on Android and now it's working flawlessly with Client Certificate, thanks a lot @yjiang-c and @alextran1502 ! |
The bug
upload doesn't work when I'm using an SSL Client Certificate, works well to connect to the server, download, display pictures but will not upload anything. I'm using haproxy and the error message is quite clear :
fd[0x21] OpenSSL error[0xa0000c7] tls_process_client_certificate: peer did not return a certificate
The OS that Immich Server is running on
Debian 12
Version of Immich Server
v1.112.1
Version of Immich Mobile App
v1.112.1
Platform with the issue
Your docker-compose.yml content
Your .env content
Reproduction steps
Relevant log output
Additional information
No response
The text was updated successfully, but these errors were encountered: