Unable to serve on non-http(s) port

Hey folks, I’m trying to host a plaintext http server on port 9090 and I’m running into some problems. Oddly enough, I can serve it just fine over ports 80 and 443 (http AND https). Unfortunately, it’s necessary for me to use port 9090.

Here’s my fly.toml and I’ve also attached a screenshot showing the output of fly services show as well as the odd behavior I’m seeing. The {"error": "route not found"} is what I’m expecting to see, but when I send my report to port 9090 I get “Empty reply from server”. Any ideas?

Thanks!

app = "vodhub-replays"
primary_region = "ewr"

[build]
  dockerfile = "../Dockerfile"

[processes]
  replays = "/app/replays"

[[services]]
  protocol = "tcp"
  internal_port = 9090
  processes = ["replays"]

  [[services.ports]]
    port = 443
    handlers = ["http", "tls"]

  [[services.ports]]
    port = 80
    handlers = ["http"]

  [[services.ports]]
    port = 9090
    handlers = ["http"]

The problem seems to be triggered when the port is included in the HTTP Host header. I’m not getting logs in my app for these problematic requests, so I assume it’s either an issue with my config or the fly proxy. When I send my request to port 9090, the port is included in the Host header. I included a screenshot to show this behavior with port 80. Is this expected/known?

Apologies, just realized I need to have a dedicated IP.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.