Skip to content

docker: Invalid HTTP format, parsing fails. Are you trying to open an SSL connection to a non-SSL Puma? #980

@varadins

Description

@varadins

Greetings - I am attempting to run html2rss on docker.

I am able to access html2rss just fine from the localhost http://127.0.0.1:6005

I am not able to access it using the IP of the docker box http://192.168.1.101:6005

It's as if it's trying to make a https connection when I am explicitly calling http://192.168.1.101:6005

If I issue a curl from a remote machine it appears to work fine:

S C:\Users\Varadin> curl http://192.168.1.101:6005

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="robots" content="noindex, nofollow" />
    <meta
      name="description"
      content="html2rss converts fixed demo pages or operator-submitted URLs into feed endpoints."
    />
    <link rel="stylesheet" href="/shared-ui.css" />
    <link rel="icon" href="/favicon.ico" />
    <title>html2rss</title>
    <script type="module" crossorigin src="/assets/index-DGRYoAwJ.js"></script>
    <link rel="stylesheet" crossorigin href="/assets/index-r9gqdvSr.css">
  </head>
  <body>
    <div id="app"></div>
  </body>
</html>

I have made sure that force https is completely off in the browser.

docker-compose.yml

services:
  html2rss-web:
    image: html2rss/web:1
    ports:
      - 6005:4000
    environment:
      RACK_ENV: development
      HTML2RSS_ACCESS_TOKEN: CHANGE_ME_ADMIN_TOKE
      BOTASAURUS_SCRAPER_URL: http://botasaurus:4010

  botasaurus:
    image: html2rss/botasaurus-scrape-api:latest

docker logs


docker@dockerbox ~/d/html2rss> docker logs html2rss-html2rss-web-1
Puma starting in single mode...
* Puma version: 8.0.1 ("Into the Arena")
* Ruby version: ruby 4.0.1 (2026-01-13 revision e04267a14b) +YJIT +PRISM [x86_64-linux-musl]
*  Min threads: 5
*  Max threads: 5
*  Environment: development
*          PID: 1
WARNING: Using default secret key for development/testing only!
Set HTML2RSS_SECRET_KEY environment variable for production use.
{"timestamp":"2026-05-10T20:28:02+00:00","level":"WARN","service":"html2rss-web","security_event":"config_validation_failure","details":{"component":"secret_key","details":"Using development default secret key"}}
{"timestamp":"2026-05-10T20:28:02+00:00","level":"INFO","service":"html2rss-web","component":"boot","event_name":"app.start","build_tag":"1.3.0","git_sha":"dd4ddc5759f6937af6dacb8d764af43be551270b","sentry_enabled":false}
* Listening on http://0.0.0.0:4000
Use Ctrl-C to stop
cache: [GET /] miss
172.31.0.1 - - [10/May/2026:20:28:34 +0000] "GET / HTTP/1.1" 200 684 0.0481
cache: [GET /api/v1] miss
172.31.0.1 - - [10/May/2026:20:28:34 +0000] "GET /api/v1 HTTP/1.1" 200 775 0.0475
cache: [GET /] miss
192.168.1.58 - - [10/May/2026:20:32:13 +0000] "GET / HTTP/1.1" 200 684 0.0048
2026-05-10 20:32:13 +0000 HTTP parse error, malformed request: #<Puma::HttpParserError: Invalid HTTP format, parsing fails. Are you trying to open an SSL connection to a non-SSL Puma?>
2026-05-10 20:32:13 +0000 HTTP parse error, malformed request: #<Puma::HttpParserError: Invalid HTTP format, parsing fails. Are you trying to open an SSL connection to a non-SSL Puma?>

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions