使用 SSL 通过 https 重新传输 mp3 流
Restream a mp3 stream over https with ssl
我需要通过 https 重新播放几个现有的 mp3 流。
我有 url 的当前流:
http://cdn.stream.com/radio.mp3
我想把它作为:
https://cdn.newstream.com/radio.mp3
我见过几种解决方案,例如:
用 icecast 重建我自己的模型
nginx 代理
隧道
cloudfront(可能很贵)
或付费服务:https://www.autopo.st/secure-streams/
但无法找到包含使用 AWS 的廉价解决方案的简单教程。
有没有什么方法可以使用 AWS 以廉价的方式保护现有流?
谢谢,
如果您是 运行 Debian 或 Ubuntu,只需从官方 Xiph.org 存储库安装 Icecast:
https://wiki.xiph.org/Icecast_Server/Installing_latest_version_(official_Xiph_repositories)
它内置了 TLS 支持。
证书需要作为组合文件提供,public和私钥在同一个文件中。在 Letsencrypt 的情况下 - 一些 ACME 客户端可以本机生成那种输出。
由于您没有指定您是控制源服务器还是需要中继外部服务器,我不会冒险进一步解释,如果您需要涵盖特定方面,请澄清您的问题。
在自由职业者的帮助下,这就是我最终所做的。
我注册了一个域 mydomain.com 并将其指向托管 Hertzner 的 ubuntu 机器,以获得物有所值的网络流量。
所以mydomain.com指向服务器的ip 130.130.130.130
运行 机器上的这个:
cd /usr/local/bin
wget https://www.dropbox.com/s/lnk9mriccwydhow/caddy
chown root:root /usr/local/bin/caddy
chmod 755 /usr/local/bin/caddy
setcap 'cap_net_bind_service=+ep' /usr/local/bin/caddy
groupadd -g 33 www-data
useradd -g www-data --no-user-group --home-dir /var/www --no-create-home --shell /usr/sbin/nologin --system --uid 33 www-data
mkdir /etc/caddy
chown -R root:www-data /etc/caddy
mkdir /etc/ssl/caddy
chown -R root:www-data /etc/ssl/caddy
chmod 0770 /etc/ssl/caddy
wget https://raw.githubusercontent.com/mholt/caddy/master/dist/init/linux-systemd/caddy.service
cp caddy.service /etc/systemd/system/
chown root:root /etc/systemd/system/caddy.service
chmod 644 /etc/systemd/system/caddy.service
systemctl daemon-reload
systemctl start caddy.service
使用此内容创建文件 /etc/caddy/Caddyfile
securedStream.mydomain.com {
proxy / http://originStream.com
}
然后运行这一个给运行 caddy 添加自动启动,启动并检查状态
systemctl enable caddy
systemctl start caddy
systemctl status caddy
我需要通过 https 重新播放几个现有的 mp3 流。
我有 url 的当前流: http://cdn.stream.com/radio.mp3 我想把它作为: https://cdn.newstream.com/radio.mp3
我见过几种解决方案,例如:
用 icecast 重建我自己的模型
nginx 代理
隧道
cloudfront(可能很贵)
或付费服务:https://www.autopo.st/secure-streams/
但无法找到包含使用 AWS 的廉价解决方案的简单教程。
有没有什么方法可以使用 AWS 以廉价的方式保护现有流?
谢谢,
如果您是 运行 Debian 或 Ubuntu,只需从官方 Xiph.org 存储库安装 Icecast:
https://wiki.xiph.org/Icecast_Server/Installing_latest_version_(official_Xiph_repositories)
它内置了 TLS 支持。
证书需要作为组合文件提供,public和私钥在同一个文件中。在 Letsencrypt 的情况下 - 一些 ACME 客户端可以本机生成那种输出。
由于您没有指定您是控制源服务器还是需要中继外部服务器,我不会冒险进一步解释,如果您需要涵盖特定方面,请澄清您的问题。
在自由职业者的帮助下,这就是我最终所做的。
我注册了一个域 mydomain.com 并将其指向托管 Hertzner 的 ubuntu 机器,以获得物有所值的网络流量。
所以mydomain.com指向服务器的ip 130.130.130.130
运行 机器上的这个:
cd /usr/local/bin
wget https://www.dropbox.com/s/lnk9mriccwydhow/caddy
chown root:root /usr/local/bin/caddy
chmod 755 /usr/local/bin/caddy
setcap 'cap_net_bind_service=+ep' /usr/local/bin/caddy
groupadd -g 33 www-data
useradd -g www-data --no-user-group --home-dir /var/www --no-create-home --shell /usr/sbin/nologin --system --uid 33 www-data
mkdir /etc/caddy
chown -R root:www-data /etc/caddy
mkdir /etc/ssl/caddy
chown -R root:www-data /etc/ssl/caddy
chmod 0770 /etc/ssl/caddy
wget https://raw.githubusercontent.com/mholt/caddy/master/dist/init/linux-systemd/caddy.service
cp caddy.service /etc/systemd/system/
chown root:root /etc/systemd/system/caddy.service
chmod 644 /etc/systemd/system/caddy.service
systemctl daemon-reload
systemctl start caddy.service
使用此内容创建文件 /etc/caddy/Caddyfile
securedStream.mydomain.com {
proxy / http://originStream.com
}
然后运行这一个给运行 caddy 添加自动启动,启动并检查状态
systemctl enable caddy
systemctl start caddy
systemctl status caddy