OpenSSL::SSL::SSLError von discourse_theme CLI erhalten

Ich betreibe erfolgreich eine Discourse-Site lokal mit OrbStack als Alternative zu Docker Desktop. Es bietet einen benutzerdefinierten Hostnamen und bedient den Container mit einem SSL-Zertifikat, ohne den Port 4200 angehängt zu haben. z.B. https://discourse.orb.local

Wenn ich jedoch die CLI-App discourse_theme für die lokale Entwicklung verwenden möchte, erhalte ich eine Fehlermeldung bezüglich der SSL-Verbindung: certificate verify failed

SSL_connect returned=1 errno=0 peeraddr=198.19.248.3:443 state=error: certificate verify failed (self-signed certificate in certificate chain) (OpenSSL::SSL::SSLError)

discourse_theme watch .
$ discourse_theme watch .

» Using https://discourse.orb.local from /Users/user123/.discourse_theme
» Using api key from /Users/user123/.discourse_theme
/opt/homebrew/lib/ruby/gems/3.3.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:46:in `connect_nonblock': SSL_connect returned=1 errno=0 peeraddr=198.19.248.3:443 state=error: certificate verify failed (self-signed certificate in certificate chain) (OpenSSL::SSL::SSLError)
        from /opt/homebrew/lib/ruby/gems/3.3.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:46:in `ssl_socket_connect'
        from /opt/homebrew/lib/ruby/gems/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:1742:in `connect'
        from /opt/homebrew/lib/ruby/gems/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:1642:in `do_start'
        from /opt/homebrew/lib/ruby/gems/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:1631:in `start'
        from /opt/homebrew/lib/ruby/gems/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:2375:in `request'
        from /opt/homebrew/lib/ruby/gems/3.3.0/gems/discourse_theme-2.1.6/lib/discourse_theme/client.rb:144:in `request'
        from /opt/homebrew/lib/ruby/gems/3.3.0/gems/discourse_theme-2.1.6/lib/discourse_theme/client.rb:112:in `discourse_version'
        from /opt/homebrew/lib/ruby/gems/3.3.0/gems/discourse_theme-2.1.6/lib/discourse_theme/client.rb:19:in `initialize'
        from /opt/homebrew/lib/ruby/gems/3.3.0/gems/discourse_theme-2.1.6/lib/discourse_theme/cli.rb:72:in `new'
        from /opt/homebrew/lib/ruby/gems/3.3.0/gems/discourse_theme-2.1.6/lib/discourse_theme/cli.rb:72:in `run'
        from /opt/homebrew/lib/ruby/gems/3.3.0/gems/discourse_theme-2.1.6/bin/discourse_theme:6:in `<top (required)>'
        from /opt/homebrew/lib/ruby/gems/3.3.0/bin/discourse_theme:25:in `load'
        from /opt/homebrew/lib/ruby/gems/3.3.0/bin/discourse_theme:25:in `<main>'

Ich habe die neuesten Versionen von discourse_theme, OrbStack, openssl und ca-certificates.

Wenn ich Curl verwende, erhalte ich ebenfalls eine Bestätigung eines gültigen Zertifikats:

curl -Iv https://discourse.orb.local
curl -Iv https://discourse.orb.local
* Host discourse.orb.local:443 wurde aufgelöst.
* IPv6: (none)
* IPv4: 198.19.248.3
*   Versuch 198.19.248.3:443...
* Verbunden mit discourse.orb.local (198.19.248.3) Port 443
* ALPN: curl bietet h2,http/1.1 an
* (304) (OUT), TLS handshake, Client hello (1):
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (IN), TLS handshake, Server hello (2):
* (304) (IN), TLS handshake, Unknown (8):
* (304) (IN), TLS handshake, Certificate (11):
* (304) (IN), TLS handshake, CERT verify (15):
* (304) (IN), TLS handshake, Finished (20):
* (304) (OUT), TLS handshake, Finished (20):
* SSL-Verbindung mit TLSv1.3 / AEAD-CHACHA20-POLY1305-SHA256 / [blank] / UNDEF
* ALPN: Server akzeptierte h2
* Serverzertifikat:
*  Betreff: O=OrbStack Development; OU=Containers & Services; CN=discourse.orb.local
*  Startdatum: Aug 25 08:07:50 2025 GMT
*  Ablaufdatum: Nov 25 09:07:50 2027 GMT
*  subjectAltName: Host "discourse.orb.local" stimmte mit dem Zertifikat "discourse.orb.local" überein
*  Aussteller: O=OrbStack Development; OU=Containers & Services; CN=OrbStack Development Root CA
*  SSL-Zertifikatüberprüfung OK.
* HTTP/2 wird verwendet
* [HTTP/2] [1] Stream geöffnet für https://discourse.orb.local/
* [HTTP/2] [1] [:method: HEAD]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: discourse.orb.local]
* [HTTP/2] [1] [:path: /]
* [HTTP/2] [1] [user-agent: curl/8.7.1]
* [HTTP/2] [1] [accept: */*]

> HEAD / HTTP/2
> Host: discourse.orb.local
> User-Agent: curl/8.7.1
> Accept: */*
>
* Anfrage vollständig gesendet
< HTTP/2 200

Was verursacht dieses Problem tatsächlich? Irgendwelche Ideen?

Ich habe dieses Thema nach Dev verschoben, da es um die lokale Verwendung von Discourse als Entwicklungsumgebung geht. Wenn Sie eine schnellere Antwort benötigen, können Sie sich gerne an team@discourse.org wenden, als gehosteter Kunde.

1 „Gefällt mir“