stalwartlabs / webadmin

Web-based admin for Stalwart Mail Server
https://stalw.art
71 stars 16 forks source link

Redirect URI must be HTTPS #27

Closed owenthewizard closed 1 month ago

owenthewizard commented 1 month ago

Apologies if this is covered somewhere, but I'm trying to setup a demo installation on my laptop and I'm unable to login to https://localhost:443 as I receive the error Redirect URI must be HTTPS.

config.toml ```toml authentication.fallback-admin.user = "admin" authentication.fallback-admin.secret = "$6$...." directory.internal.store = "rocksdb" directory.internal.type = "internal" lookup.default.hostname = "MyHostName" server.listener.https.bind.0000 = "[::]:443" server.listener.https.protocol = "http" server.listener.https.tls.implicit = true server.listener.imap.bind.0000 = "[::]:143" server.listener.imap.protocol = "imap" server.listener.imaptls.bind.0000 = "[::]:993" server.listener.imaptls.protocol = "imap" server.listener.imaptls.tls.implicit = true server.listener.sieve.bind.0000 = "[::]:4190" server.listener.sieve.protocol = "managesieve" server.listener.smtp.bind.0000 = "[::]:25" server.listener.smtp.protocol = "smtp" server.listener.submission.bind.0000 = "[::]:587" server.listener.submission.protocol = "smtp" server.listener.submissions.bind.0000 = "[::]:465" server.listener.submissions.protocol = "smtp" server.listener.submissions.tls.implicit = true server.run-as.group = "_stalwart-mail" server.run-as.user = "_stalwart-mail" storage.blob = "rocksdb" storage.data = "rocksdb" storage.directory = "internal" storage.fts = "rocksdb" storage.lookup = "rocksdb" store.rocksdb.compression = "lz4" store.rocksdb.path = "/var/lib/stalwart-mail/data/" store.rocksdb.type = "rocksdb" tracer.stdout.ansi = false tracer.stdout.enable = true tracer.stdout.level = "debug" tracer.stdout.type = "stdout" ```
Debug Log ``` 2024-10-11T11:06:48Z INFO Starting Stalwart Mail Server v0.9.2 (server.startup) version = 0.9.2 2024-10-11T11:06:48Z INFO Webadmin resource unpacked (resource.webadmin-unpacked) path = "/tmp/STALWART_WEBADMIN" 2024-10-11T11:06:48Z ERROR Configuration build error (config.build-error) details = "Build error for key "sieve.trusted.scripts.spam-filter.contents": Failed to compile Sieve script: Invalid expression trim(split_n(llm_prompt(LLM_MODEL, LLM_PROMPT_TEXT + '\n\nSubject: ' + subject_clean + '\n\n' + text_body, 0.5), ',', 3)): Invalid variable or function name "split_n" at line 2107, column 22." 2024-10-11T11:06:48Z INFO Network listener started (network.listen-start) listenerId = "https", localIp = ::, localPort = 443, tls = true 2024-10-11T11:06:48Z INFO Network listener started (network.listen-start) listenerId = "imap", localIp = ::, localPort = 143, tls = false 2024-10-11T11:06:48Z INFO Network listener started (network.listen-start) listenerId = "imaptls", localIp = ::, localPort = 993, tls = true 2024-10-11T11:06:48Z INFO Network listener started (network.listen-start) listenerId = "sieve", localIp = ::, localPort = 4190, tls = false 2024-10-11T11:06:48Z INFO Network listener started (network.listen-start) listenerId = "smtp", localIp = ::, localPort = 25, tls = false 2024-10-11T11:06:48Z INFO Network listener started (network.listen-start) listenerId = "submission", localIp = ::, localPort = 587, tls = false 2024-10-11T11:06:48Z INFO Network listener started (network.listen-start) listenerId = "submissions", localIp = ::, localPort = 465, tls = true 2024-10-11T11:06:48Z INFO Housekeeper process started (housekeeper.start) 2024-10-11T11:06:48Z DEBUG Housekeeper task scheduled (housekeeper.schedule) due = 2024-10-11T11:14:59Z, id = "Session" 2024-10-11T11:06:48Z DEBUG Housekeeper task scheduled (housekeeper.schedule) due = 2024-10-12T04:59:59Z, id = "Account" 2024-10-11T11:06:48Z DEBUG Housekeeper task scheduled (housekeeper.schedule) due = 2024-10-12T07:59:59Z, id = "Store(0)" 2024-10-11T11:06:48Z DEBUG Housekeeper task scheduled (housekeeper.schedule) due = 2024-10-12T08:59:59Z, id = "Store(1)" 2024-10-11T11:06:48Z DEBUG Housekeeper task scheduled (housekeeper.schedule) due = 2024-10-12T09:59:59Z, id = "Store(2)" 2024-10-11T11:06:51Z DEBUG TLS certificate not found (tls.certificate-not-found) hostname = "MyHostName" 2024-10-11T11:06:51Z WARN No TLS certificates available (tls.no-certificates-available) total = 0 2024-10-11T11:06:51Z DEBUG TLS handshake error (tls.handshake-error) listenerId = "https", localPort = 443, remoteIp = ::1, remotePort = 34432, reason = "received fatal alert: BadCertificate" 2024-10-11T11:06:55Z DEBUG TLS certificate not found (tls.certificate-not-found) hostname = "MyHostName" 2024-10-11T11:06:55Z WARN No TLS certificates available (tls.no-certificates-available) total = 0 2024-10-11T11:06:55Z INFO HTTP connection started (http.connection-start) listenerId = "https", localPort = 443, remoteIp = ::1, remotePort = 34434 2024-10-11T11:06:55Z DEBUG HTTP request URL (http.request-url) listenerId = "https", localPort = 443, remoteIp = ::1, remotePort = 34434, url = "/login" 2024-10-11T11:06:55Z DEBUG HTTP request URL (http.request-url) listenerId = "https", localPort = 443, remoteIp = ::1, remotePort = 34434, url = "/output-684840cc4442b90e.css" 2024-10-11T11:06:55Z DEBUG HTTP request URL (http.request-url) listenerId = "https", localPort = 443, remoteIp = ::1, remotePort = 34434, url = "/webadmin-18420740387b40bb.js" 2024-10-11T11:06:55Z DEBUG HTTP request URL (http.request-url) listenerId = "https", localPort = 443, remoteIp = ::1, remotePort = 34434, url = "/webadmin-18420740387b40bb_bg.wasm" 2024-10-11T11:06:55Z DEBUG TLS certificate not found (tls.certificate-not-found) hostname = "MyHostName" 2024-10-11T11:06:55Z WARN No TLS certificates available (tls.no-certificates-available) total = 0 2024-10-11T11:06:55Z INFO HTTP connection started (http.connection-start) listenerId = "https", localPort = 443, remoteIp = ::1, remotePort = 34440 2024-10-11T11:06:55Z DEBUG HTTP request URL (http.request-url) listenerId = "https", localPort = 443, remoteIp = ::1, remotePort = 34434, url = "/apple-touch-icon.png" 2024-10-11T11:06:55Z DEBUG HTTP request URL (http.request-url) listenerId = "https", localPort = 443, remoteIp = ::1, remotePort = 34440, url = "/favicon-cfb706b7132e0fd2.ico" 2024-10-11T11:06:55Z DEBUG HTTP request URL (http.request-url) listenerId = "https", localPort = 443, remoteIp = ::1, remotePort = 34434, url = "/logo.svg" 2024-10-11T11:06:58Z DEBUG HTTP request URL (http.request-url) listenerId = "https", localPort = 443, remoteIp = ::1, remotePort = 34434, url = "/api/oauth" 2024-10-11T11:06:58Z INFO Authentication successful (auth.success) listenerId = "https", localPort = 443, remoteIp = ::1, remotePort = 34434, accountName = "admin", type = Superuser 2024-10-11T11:06:58Z DEBUG Management error (manage.error) listenerId = "https", localPort = 443, remoteIp = ::1, remotePort = 34434, details = Redirect URI must be HTTPS. 2024-10-11T11:08:50Z INFO HTTP connection ended (http.connection-end) listenerId = "https", localPort = 443, remoteIp = ::1, remotePort = 34440, elapsed = 115128ms 2024-10-11T11:08:54Z INFO HTTP connection ended (http.connection-end) listenerId = "https", localPort = 443, remoteIp = ::1, remotePort = 34434, elapsed = 119222ms ```
mdecimus commented 1 month ago

You need to upgrade Stalwart to the latest version. The webadmin you're using is not compatible with the server binary.