[GH-ISSUE #410] OTA Manifest error when on https #102

Closed
opened 2026-03-04 00:23:54 +03:00 by kerem · 6 comments
Owner

Originally created by @8mbe on GitHub (Mar 21, 2024).
Original GitHub issue: https://github.com/SignTools/SignTools/issues/410

I tried basic troubleshooting first

Describe the bug

When trying to install an app from the signtools (hosted locally and exposed through reverse proxy Nginx Proxy Manager) I get using OTA manifest proxy, installation may not work. The url that I access my instance of signtools is https://sign.xxx.com (where xxx is my domain name), but it reports that it sets base_url to http://sign.xxx.com (WRN using OTA manifest proxy, installation may not work base_url=http://sign.xxx.com)

To reproduce

Steps to reproduce the behavior:

  1. Go to the self hosted instance of signtools
  2. Upload the app and wait for it to be signed
  3. Install the app

Expected behavior

A Do you want to install this app? prompt appears and app installs

Logs

  • In logs, url is replaced with sign.xxx.com and ips are replaced with xxx.xxx.xxx.xxx for my own safety
    _signtools_logs.txt

Screenshots

None.

System configuration

  • SignTools version: [e.g. 3.0.0] v3.0.2
  • Installation type: [cloud server, personal computer; nginx, ngrok, cloudflared] Personal Computer, Nginx Proxy Manager
  • Operating System: [macOS, Linux, Windows] Linux, Debian 11 (signtools is running in docker container using signtools/signtools)
  • Builder type: [SignTools-CI, SignTools-Builder] SignTools-CI
  • Builder version: [e.g. 1.0.0 for SignTools-Builder; the latest commit hash of your repo for SignTools-CI, e.g. 03e0ed9] 13250eb
Originally created by @8mbe on GitHub (Mar 21, 2024). Original GitHub issue: https://github.com/SignTools/SignTools/issues/410 **I tried basic troubleshooting first** - [x] Updated **both** [SignTools](https://github.com/SignTools/SignTools) **and** the builder ([SignTools-CI](https://github.com/SignTools/SignTools-CI) or [SignTools-Builder](https://github.com/SignTools/SignTools-Builder)) to the latest version - [x] Read through the [FAQ page](https://github.com/SignTools/SignTools/blob/master/FAQ.md) **Describe the bug** When trying to install an app from the signtools (hosted locally and exposed through reverse proxy Nginx Proxy Manager) I get `using OTA manifest proxy, installation may not work`. The url that I access my instance of signtools is `https://sign.xxx.com` (where xxx is my domain name), but it reports that it sets `base_url` to `http://sign.xxx.com` (`WRN using OTA manifest proxy, installation may not work base_url=http://sign.xxx.com`) **To reproduce** Steps to reproduce the behavior: 1. Go to the self hosted instance of signtools 2. Upload the app and wait for it to be signed 3. Install the app **Expected behavior** A `Do you want to install this app?` prompt appears and app installs **Logs** * In logs, url is replaced with `sign.xxx.com` and ips are replaced with `xxx.xxx.xxx.xxx` for my own safety [_signtools_logs.txt](https://github.com/SignTools/SignTools/files/14686582/_signtools_logs.txt) **Screenshots** None. **System configuration** - SignTools version: [e.g. 3.0.0] v3.0.2 - Installation type: [cloud server, personal computer; nginx, ngrok, cloudflared] Personal Computer, Nginx Proxy Manager - Operating System: [macOS, Linux, Windows] Linux, Debian 11 (signtools is running in docker container using `signtools/signtools`) - Builder type: [SignTools-CI, SignTools-Builder] SignTools-CI - Builder version: [e.g. 1.0.0 for SignTools-Builder; the latest commit hash of your repo for SignTools-CI, e.g. 03e0ed9] 13250eb
kerem 2026-03-04 00:23:54 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@ViRb3 commented on GitHub (Mar 21, 2024):

You need to pass the X-Forwarded-Proto: https header from your reverse proxy to SignTools, see https://github.com/SignTools/SignTools/blob/master/INSTALL.md#4a-reverse-proxy.

<!-- gh-comment-id:2013326146 --> @ViRb3 commented on GitHub (Mar 21, 2024): You need to pass the `X-Forwarded-Proto: https` header from your reverse proxy to SignTools, see https://github.com/SignTools/SignTools/blob/master/INSTALL.md#4a-reverse-proxy.
Author
Owner

@8mbe commented on GitHub (Mar 21, 2024):

You need to pass the X-Forwarded-Proto: https header from your reverse proxy to SignTools, see https://github.com/SignTools/SignTools/blob/master/INSTALL.md#4a-reverse-proxy.

It is already done by NPM (Nginx Proxy Manager), so it doesn't seem to be the problem. Any other solution?
image

<!-- gh-comment-id:2013378180 --> @8mbe commented on GitHub (Mar 21, 2024): > You need to pass the `X-Forwarded-Proto: https` header from your reverse proxy to SignTools, see https://github.com/SignTools/SignTools/blob/master/INSTALL.md#4a-reverse-proxy. It is already done by NPM (Nginx Proxy Manager), so it doesn't seem to be the problem. Any other solution? ![image](https://github.com/SignTools/SignTools/assets/56559528/829527d1-46ba-415f-a721-3b21ded0c3e0)
Author
Owner

@ViRb3 commented on GitHub (Mar 21, 2024):

I can think of a few potential issues:

  • $scheme is not https; maybe try hardcoding https instead of $scheme just to test?
  • is there something else in front of SignTools?
  • is there something in front of nginx?
  • what's in proxy.conf? maybe it's overriding something?
<!-- gh-comment-id:2013391108 --> @ViRb3 commented on GitHub (Mar 21, 2024): I can think of a few potential issues: - `$scheme` is not https; maybe try hardcoding `https` instead of `$scheme` just to test? - is there something else in front of SignTools? - is there something in front of nginx? - what's in `proxy.conf`? maybe it's overriding something?
Author
Owner

@8mbe commented on GitHub (Mar 21, 2024):

* `$scheme` is not https; maybe try hardcoding `https` instead of `$scheme` just to test?

Looks like when I set it to https, I can't access signtools at all. Also, when I set Automatically redirect to https in config,
I start receiving SSL received a record that exceeded the maximum permissible length. when visiting signtools directly (through local ip and port). Possibly this is the issue with https scheme.

<!-- gh-comment-id:2013487176 --> @8mbe commented on GitHub (Mar 21, 2024): > * `$scheme` is not https; maybe try hardcoding `https` instead of `$scheme` just to test? Looks like when I set it to `https`, I can't access signtools at all. Also, when I set `Automatically redirect to https` in config, I start receiving `SSL received a record that exceeded the maximum permissible length.` when visiting signtools directly (through local ip and port). Possibly this is the issue with `https` scheme.
Author
Owner

@ViRb3 commented on GitHub (Mar 21, 2024):

The X-Forwarded-Proto is only used by SignTools for manifest creation and Automatically redirect to https, if enabled. If SignTools doesn't work at all, you probably have something else in the middle that breaks. I imagine the second error you get is due to infinite redirection if SignTools never sees https in the X-Forwarded-Proto header. Either way, seems like a problem with your setup, and not SignTools.

<!-- gh-comment-id:2013564223 --> @ViRb3 commented on GitHub (Mar 21, 2024): The `X-Forwarded-Proto` is only used by SignTools for manifest creation and `Automatically redirect to https`, if enabled. If SignTools doesn't work at all, you probably have something else in the middle that breaks. I imagine the second error you get is due to infinite redirection if SignTools never sees `https` in the `X-Forwarded-Proto` header. Either way, seems like a problem with your setup, and not SignTools.
Author
Owner

@ViRb3 commented on GitHub (Apr 25, 2024):

Closing due to inactivity. Hope you got it sorted.

<!-- gh-comment-id:2077989155 --> @ViRb3 commented on GitHub (Apr 25, 2024): Closing due to inactivity. Hope you got it sorted.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/SignTools#102
No description provided.