14 Jul 2025 |
matthewcroughan | you go to https://foo.com, inside is a html element pointing to https://icecast.foo.com/stream | 14:41:39 |
matthewcroughan | https://icecast.foo.com/stream doesn't work via a nginx proxy, because the stream is not http | 14:42:00 |
matthewcroughan | this works on the lan though, when not proxied | 14:42:11 |
n4ch723hr3r | the best example domain is example.com or example.org (its an official example domain) | 14:42:14 |
matthewcroughan | too much typing | 14:42:27 |
matthewcroughan | example.com is more chars | 14:42:33 |
n4ch723hr3r | it shoudl also work in public if you dont mind exposing your icecast | 14:42:40 |
n4ch723hr3r | lmao | 14:42:45 |
Katalin 🔪 | can you set it up so that port 443 goes through nginx, and all the links to the streams on the page (iirc it shows you a directory of available streams right?) have an absolute url with another port on the same domain, which is the raw icecast service | 14:45:35 |
Katalin 🔪 | or does it only give you relative urls | 14:45:40 |
matthewcroughan | For some reason, the streams on the page go to icecast.foo.com and not icecast.foo.com:8000 | 14:46:50 |
matthewcroughan | whereas the administration page shows the listenurl correctly and the streams go to `icecast.foo.com:800/stream | 14:47:03 |
matthewcroughan | * whereas the administration page shows the listenurl correctly and the streams go to `icecast.foo.com:800/stream` | 14:47:05 |
matthewcroughan | * whereas the administration page shows the listenurl correctly and the streams go to icecast.foo.com:8000/stream | 14:47:11 |
n4ch723hr3r | probably some config issue | 14:47:17 |
matthewcroughan | Could be yeah | 14:47:24 |
Katalin 🔪 | you might need to modify the proxy port header | 14:47:27 |
matthewcroughan | I've been looking around for examples | 14:47:31 |
matthewcroughan | I think I'll make a minimal icecast example if I ever figure this | 14:47:38 |
matthewcroughan | * I think I'll make a minimal icecast example if I ever figure this ollut | 14:47:41 |
matthewcroughan | * I think I'll make a minimal icecast example if I ever figure this out | 14:47:43 |
Katalin 🔪 | it probably reacts to one of these https://github.com/NixOS/nixpkgs/blob/nixos-25.05/nixos/modules/services/web-servers/nginx/default.nix#L107 | 14:48:53 |
Katalin 🔪 | (Host or X-Forwarded-Host) | 14:49:27 |
matthewcroughan | Another thing is that icecast is http 1.0 afaik | 14:49:58 |
n4ch723hr3r | also: arent those proprietary extensions to icecast against its license (GPLv2 or later) | 14:50:05 |
matthewcroughan | we enable http2 on all nginx virtualhosts by default | 14:50:14 |
Zhaofeng Li | In reply to @matthewcroughan:defenestrate.it
https://icecast.foo.com/stream doesn't work via a nginx proxy, because the stream is not http But it has to be http, right? Otherwise it won't work for the web client | 14:50:14 |
n4ch723hr3r | i looked up http/3 just now bcs i wondered that as well and found a proprietary fork/wrapper | 14:50:31 |
matthewcroughan | It isn't, and I don't know why it works | 14:50:36 |
matthewcroughan | I just know that when I proxy it, the client (nginx in that case) gets 502 bad gateway because.. | 14:50:55 |