OpenSSL::SSL::SSLError krijgen van discourse_theme CLI

I’m successfully running a Discourse site locally using OrbStack as a Docker Desktop alternative. It provides a custom hostname and server the container with an SSL certificate, and without the 4200 port appended. i.e. https://discourse.orb.local

However, when I want to use discourse_theme CLI app for for local development, I get an error complaining about the SSL connection: 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>'

I have the latest versions of discourse_theme, OrbStack, openssl, and ca-certificates.

When I use Curl, I get a confirmation of a valid certificate too:

curl -Iv https://discourse.orb.local
curl -Iv https://discourse.orb.local
* Host discourse.orb.local:443 was resolved.
* IPv6: (none)
* IPv4: 198.19.248.3
*   Trying 198.19.248.3:443...
* Connected to discourse.orb.local (198.19.248.3) port 443
* ALPN: curl offers h2,http/1.1
* (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 connection using TLSv1.3 / AEAD-CHACHA20-POLY1305-SHA256 / [blank] / UNDEF
* ALPN: server accepted h2
* Server certificate:
*  subject: O=OrbStack Development; OU=Containers & Services; CN=discourse.orb.local
*  start date: Aug 25 08:07:50 2025 GMT
*  expire date: Nov 25 09:07:50 2027 GMT
*  subjectAltName: host "discourse.orb.local" matched cert's "discourse.orb.local"
*  issuer: O=OrbStack Development; OU=Containers & Services; CN=OrbStack Development Root CA
*  SSL certificate verify ok.
* using HTTP/2
* [HTTP/2] [1] OPENED stream for 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: */*
> 
* Request completely sent off
< HTTP/2 200 

What is actually causing this problem? Any ideas?

Ik heb dit onderwerp verplaatst naar Dev, aangezien het gaat over het lokaal gebruiken van Discourse als ontwikkelomgeving. Als je sneller antwoord nodig hebt, neem dan gerust contact op met team@discourse.org, als gehoste klant.

1 like