[Icecast] Question about replacing the web interface with an audio stream

jake jake at jakebriggs.com
Mon Apr 8 21:05:59 UTC 2019


 

I have had a bunch of issues getting reverse proxy running with apache
properly, the main issue is with YP listings and having icecast list the
revproxy mount at port 80 rather than the icecast one at port 8000.
Unfortunately, I /need/ some sort of http server on port 80 - and I know
apache the best. 

That being said, if you know the mounts you want to reverse proxy, its
not an arduous exercise to revproxy with apache. Here is an anonymized 
/etc/apache2/sites-enabled/000-default.conf 

---------------- 8< ----------------
<VirtualHost *:80>
    ServerName example.com

    ServerAdmin webmaster at localhost
    DocumentRoot /var/www/html
    LimitRequestLine 10000000

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Include conf-available/serve-cgi-bin.conf

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Require all granted
    </Directory>

    ProxyPreserveHost On

    ProxyPass /jakemusic http://localhost:8000/jake-radio.mp3
    ProxyPassReverse /jakemusic http://localhost:8000/jake-radio.mp3

    ProxyPass /carlymusic http://localhost:8000/carly-radio.mp3
    ProxyPassReverse /carlymusic http://localhost:8000/carly-radio.mp3

    ProxyPass /dnbmusic http://localhost:8000/dnb-radio.mp3
    ProxyPassReverse /dnbmusic http://localhost:8000/dnb-radio.mp3

    ProxyPass /subsonic http://localhost:4040/subsonic
    ProxyPassReverse /subsonic http://localhost:4040/subsonic

    ProxyPass /jsonrpc http://localhost:6800/jsonrpc
    ProxyPassReverse /jsonrpc http://localhost:6800/jsonrpc

    Header set Access-Control-Allow-Origin "*"
</VirtualHost> 

---------------- 8< ---------------- 

So the only real things in the config you need is the "ProxyPreserveHost
On" and the 6 lines proxying 3 icecast mounts, jake-radio.mp3,
carly-radio.mp3, and dnb-radio.mp3. I also reverse proxy to a subsonic
server and a jsonrpc backend for an unrelated thingy, and the rest like
the cgi-bin stuff is unrelated. 

Jake 

On 2019-04-09 08:49, Yahav Shasha wrote: 

> As for the root concerns check the changeowner or chroot. 
> Now, if you must use revproxy its not entierly out of the question but from my experience its better to avoid it unless u have no other options. And if you do go that way, use nginx instead of apache. 
> 
> בתאריך יום ב׳, 8 באפר׳ 2019, 22:46, מאת Jordan Verner ‏<jordan at caturria.ca>: 
> Okay, but you'd have to be able/willing to employ a dedicated IP to that, plus run Icecast as root. 
> What are the negative technical implications of running icecast on port 8000 (suitable for most users) and then running a reverse proxy to accommodate public wifi with port restrictions? 
> 
> On Apr 8, 2019, at 3:31 PM, Yahav Shasha <yahav.shasha at gmail.com> wrote: 
> 
> Just bind icecast to port 80... 
> Its not uncommon to use a subdomain for a stream.. 
> 
> בתאריך יום ב׳, 8 באפר׳ 2019, 22:28, מאת Jordan Verner ‏<jordan at caturria.ca>: 
> What's wrong with reverse proxying icecast through apache? 
> In my case, it's just a measure to allow a secondary point of access to a stream from public wifi that only allows ports 80 and 443. 
> Is it just a potential resource usage implication? 
> 
> On Apr 7, 2019, at 6:12 PM, Humberto Rodriguez <sub at hrfinancial.com> wrote: 
> 
> Why not reproduce the stream using the <audio> element of HTML in a regular webpage?  You could turn autoplay on and the strean would sound automatically on most browsers, not so on Google's. 
> 
> Humberto 
> 
> FROM: Icecast <icecast-bounces at xiph.org> ON BEHALF OF John Molane
> SENT: Sunday, April 7, 2019 12:44 PM
> TO: icecast at xiph.org
> SUBJECT: [Icecast] Question about replacing the web interface with an audio stream 
> 
> Hello, 
> 
> I was wondering if someone here could help me out. 
> 
> I have a domain that I'm using for Icecast, let's use "domain.com [1]" as an example. Icecast is running on port 80. The problem is that when I go to "domain.com [1]" in my web browser, it brings up the web interface. 
> 
> I want to configure it so that instead of showing the status page, it immediately goes to one of my mountpoints. This would make it so people don't have to remember the full path to the mountpoint. 
> 
> Is this possible? I apologize if I'm overlooking something simple. This doesn't seem to be a very common way of using Icecast. 
> 
> Thanks. _______________________________________________
> Icecast mailing list
> Icecast at xiph.org
> http://lists.xiph.org/mailman/listinfo/icecast _______________________________________________
> Icecast mailing list
> Icecast at xiph.org
> http://lists.xiph.org/mailman/listinfo/icecast
 _______________________________________________
Icecast mailing list
Icecast at xiph.org
http://lists.xiph.org/mailman/listinfo/icecast
_______________________________________________
Icecast mailing list
Icecast at xiph.org
http://lists.xiph.org/mailman/listinfo/icecast 

_______________________________________________
Icecast mailing list
Icecast at xiph.org
http://lists.xiph.org/mailman/listinfo/icecast 

Links:
------
[1] http://domain.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xiph.org/pipermail/icecast/attachments/20190409/3a1e81e2/attachment.htm>


More information about the Icecast mailing list