Hello, following the official guide [1] and few others webites I finally installed my first Ruby on Rails/Puma web app... and it passed the local test by curl (bundle exec rails server webrick -e production) - relayd wasn't configured yet.
Then, I ran my app with puma server. I can't figure out how to make it work with FQDN and LetsEncrypt cert. My configs seems to be fine. It's 7.0/amd64. I've read [2], [3]. I started with simple httpd configuration to get certs with acme-clinet and then https://redmine.MY.DOMAIN.COM showed my testing index.html properly. Now /etc/httpd.conf has changed but I assume my certs are still OK. Remote firefox is giving me a "Redirect Loop" error when trying to access https://redmine.MY.DOMAIN.COM Could someone please shed some light on this puzzle? 1. https://www.redmine.org/projects/redmine/wiki/RedmineInstall 2. https://github.com/basicfeatures/openbsd-rails 3. https://gist.github.com/anon987654321/4532cf8d6c59c1f43ec8973faa031103 $ openssl s_client -connect redmine.MY.DOMAIN.COM:443 CONNECTED(00000003) depth=0 CN = redmine.MY.DOMAIN.COM verify error:num=20:unable to get local issuer certificate verify return:1 depth=0 CN = redmine.MY.DOMAIN.COM verify error:num=21:unable to verify the first certificate verify return:1 write W BLOCK --- Certificate chain 0 s:/CN=redmine.MY.DOMAIN.COM i:/C=US/O=Let's Encrypt/CN=R3 --- Server certificate -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE----- subject=/CN=redmine.MY.DOMAIN.COM issuer=/C=US/O=Let's Encrypt/CN=R3 --- No client certificate CA names sent Server Temp Key: ECDH, X25519, 253 bits --- SSL handshake has read 2403 bytes and written 367 bytes --- New, TLSv1/SSLv3, Cipher is AEAD-AES256-GCM-SHA384 Server public key is 4096 bit Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE No ALPN negotiated SSL-Session: Protocol : TLSv1.3 Cipher : AEAD-AES256-GCM-SHA384 Session-ID: Session-ID-ctx: Master-Key: Start Time: 1638116582 Timeout : 7200 (sec) Verify return code: 21 (unable to verify the first certificate) --- [redminepk@@redmine70~/redminepk:]bundle exec pumactl27 --config-file config/puma.rb start Puma starting in single mode... * Puma version: 5.5.2 (ruby 2.7.4-p191) ("Zawgyi") * Min threads: 0 * Max threads: 5 * Environment: production * PID: 85983 * Listening on ssl://127.0.0.1:3000?cert=/etc/ssl/redmine.MY.DOMAIN.COM.crt&key=/etc/ssl/private/redmine.MY.DOMAIN.COM.key&verify_mode=none * Listening on http://127.0.0.1:3001 Use Ctrl-C to stop # /home/redminepk/redminepk/config/puma.rb #!/usr/bin/env puma app = "redminepk" ssl_bind "127.0.0.1", "3000", { key: "/etc/ssl/private/redmine.MY.DOMAIN.COM.key", cert: "/etc/ssl/redmine.MY.DOMAIN.COM.crt" } bind "tcp://127.0.0.1:3001" pidfile "/home/#{app}/#{app}/tmp/puma.pid" state_path "/home/#{app}/#{app}/tmp/puma.state" stdout_redirect "/home/#{app}/#{app}/log/puma_access.log", "/home/#{app}/#{app}/log/puma_errors.log" environment "production" # /home/redminepk/redminepk/config/environments/production.rb Rails.application.configure do config.cache_classes = true config.eager_load = true config.consider_all_requests_local = false config.action_controller.perform_caching = true config.action_mailer.raise_delivery_errors = false config.action_mailer.logger = nil config.active_support.deprecation = :log config.force_ssl = true end # /etc/httpd.conf ext_if="vmx0" types { include "/usr/share/misc/mime.types" } server "redmine.MY.DOMAIN.COM" { listen on $ext_if port 80 location "/.well-known/acme-challenge/*" { root "/acme" request strip 2 } location "*" { block return 302 "https://$HTTP_HOST$REQUEST_URI" } } # /etc/relayd.conf egress="A.B.C.D" table <redminepk> { 127.0.0.1 } redminepk_port="3001" table <httpd> { 127.0.0.1 } httpd_port="80" http protocol "http" { match request header set "Connection" value "close" match response header remove "Server" } http protocol "https" { pass request header "Host" value "redmine.MY.DOMAIN.COM" forward to <redminepk> tls keypair "redmine.MY.DOMAIN.COM" # Preserve address headers match request header append "X-Forwarded-For" value "$REMOTE_ADDR" match request header append "X-Forwarded-Port" value "$REMOTE_PORT" match request header append "X-Forwaded-By" value "$SERVER_ADDR:$SERVER_PORT" match request header set "Connection" value "close" match response header remove "Server" } relay "http" { listen on $egress port http protocol "http" forward to <httpd> port $httpd_port } relay "https" { listen on $egress port https tls protocol "https" forward to <httpd> port $httpd_port forward to <redminepk> port $redminepk_port } $ grep relayd /etc/pf.conf # Allow relayd(8) redirects anchor "relayd/*" On Fri, 12 Nov 2021 20:35:45 +0100 Radek <[email protected]> wrote: > Hello Werner, > thank you for your installation details. I'll give it a try in a few days. > > On Thu, 11 Nov 2021 23:57:02 +0800 > Werner Boninsegna <[email protected]> wrote: > > > Hello Radek, > > > > I am running Redmine on OpenBSD 6.8 and I just followed the installation > > instructions posted on the Redmine page which are quite complete: > > > > https://www.redmine.org/projects/redmine/wiki/Installation_Guide > > > > I installed Postgres and Ruby+Dependencies from the OpenBSD packages. > > > > Werner > > > > On 11/10/21 00:56, Radek wrote: > > > > Hi @misc, > > Does anyone successfully run redmine[1] on OpenBSD? > > I'd like to install redmine on 7.0/amd64 with httpd and postgresql. I've > > never done it before so any advices and hints would be appreciated. > > There isn't much up to date info in google about it[2][3]. > > > > 1. https://www.redmine.org/ 2. > > https://www.redmine.org/boards/2/topics/496 3. > > https://web.archive.org/web/20160406041905/http://www.iwebdev.it/blog/?p=229 > > > > Thank you! > > > -- > Radek > -- Radek

