mirror of
https://github.com/SignTools/SignTools.git
synced 2026-04-27 02:45:56 +03:00
[GH-ISSUE #335] OTA Install not working: Manifest Proxy in use despite reverse HTTPS proxy #92
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/SignTools#92
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @dwahdany on GitHub (Jun 20, 2023).
Original GitHub issue: https://github.com/SignTools/SignTools/issues/335
I tried basic troubleshooting first
Describe the bug
OTA installation fails with a Provision Profile and NGINX Reverse Proxy using HTTPs. The Webserver still shows the HTTP base-url despite actually being reachable over HTTPs and the config entry
server_url: https://{DOMAIN}{DOMAIN} -HTTPS> Cloudflared (Docker) -HTTPS> Nginx (Docker) -HTTP?> SignTools (Docker)
To reproduce
Steps to reproduce the behavior:
https://{DOMAIN}and forward the nginx reverse proxy tohttp://signtools:8080with the correct proxy settings (i.e. keeping scheme)Expected behavior
OTA installation should succeed over the HTTPS reverse proxy.
Logs
WRN using OTA manifest proxy, installation may not work base_url=http://{DOMAIN}System configuration
Question
How do we make SignTools aware that it's begin accessed via https? Or is something truly misconfigured?
@ViRb3 commented on GitHub (Jun 20, 2023):
Yes, this is because nginx reverse proxies the request over HTTP and completely hides the fact that HTTPS was used by the client. To fix, make sure you add the special "hint" headers as specified in the guide: https://github.com/SignTools/SignTools/blob/master/INSTALL-ADVANCED.md#4a-reverse-proxy
@dwahdany commented on GitHub (Jun 20, 2023):
Thanks for the response. I had added them but there was no way for nginx to realise it was an https request, because cloudflared was actually using the HTTP scheme to connect to nginx. Hope this helps anyone encountering the same issue.
@ViRb3 commented on GitHub (Jun 20, 2023):
Ah I see. You should be able to force the scheme signaling then, like:
proxy_set_header X-Forwarded-Proto https;