Skip to content

Support for proxying to self-signed HTTPS internal service (tls_insecure_skip_verify) #13

@changhoon-sung

Description

@changhoon-sung

Summary

When configuring pingoo as a reverse proxy to an upstream that serves HTTPS with a self-signed certificate, requests fail with 502 Bad Gateway. I need a way to allow http_proxy to target https://... backends and optionally skip TLS verification (similar to Caddy’s tls_insecure_skip_verify).

Use case

Nextcloud AIO’s master container automatically exposes its dashboard over HTTPS using a self-signed certificate. Even from inside the same Docker network, the service must be reached via HTTPS. Other reverse proxies (e.g., Caddy) support this by allowing TLS verification to be skipped explicitly.

Caddy example (works):

@nextcloud-master host nextcloud-master.{env.DOMAIN}
handle @nextcloud-master {
  reverse_proxy https://nextcloud-aio-mastercontainer:8080 {
    transport http {
      tls_insecure_skip_verify
    }
  }
}

What I tried with pingoo

services:
  nextcloud-master:
    route: http_request.host.starts_with("nextcloud-master.")
    http_proxy: ["https://nextcloud-aio-mastercontainer:8080"]

pingoo returns 502 Bad Gateway when the upstream is HTTPS with a self-signed cert.

Expected behavior

  • pingoo should be able to proxy to an HTTPS upstream using a self-signed certificate, when explicitly configured to skip TLS verification.
  • Ideally, an opt-in setting in the service (or global) config, e.g.:
services:
  nextcloud-master:
    route: http_request.host.starts_with("nextcloud-master.")
    http_proxy:
      - url: "https://nextcloud-aio-mastercontainer:8080"
        tls_insecure_skip_verify: true   # opt-in, default false

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions