Icecast、Ices2 和 HTTPS

问题描述

我想使用 HTTPS 设置 icecast(版本 2.4.99.2)。我试过 Debian 版本的 icecast,也试过源码编译。

以下是一些相关信息:

/etc/icecast2/icecast.xml:

<listen-socket>
  <port>8000</port>
</listen-socket>
<listen-socket>
  <port>8443</port>
  <ssl>1</ssl>
</listen-socket>

<http-headers>
  <header name="Access-Control-Allow-Origin" value="*" />
</http-headers>

<paths>
  <basedir>/usr/share/icecast2</basedir>
  <logdir>/var/log/icecast2</logdir>
  <webroot>/usr/share/icecast2/web</webroot>
  <adminroot>/usr/share/icecast2/admin</adminroot>
  <alias source="/" destination="/status.xsl"/>
  <ssl-certificate>/usr/share/icecast2/web/bundle.pem</ssl-certificate>
  <ssl-private-key>/usr/share/icecast2/web/bundle.pem</ssl-private-key>
</paths>

bundle.pem 文件包含 privkey.pem 和 fullchain.pem 文件 脱水(让我们加密)的证书,按此顺序。

ices2 配置文件

<instance>
  <port>8443</port>
</instance>

使用 8000 (HTTP) 可以工作,而不使用 8443 (HTTPS)。

端口 8000 和 8443 在防火墙上是开放的。

/var/log/icecast2/error.log

错误日志文件给出:

WARN tls/tls_ctx_new Invalid cert file /etc/icecast2/bundle.pem

.pem 文件的正确格式是什么?

感谢您的帮助!

解决方法

我成功了。我的证书文件是正确的。它应该包含 fullchain.pem 和 privkey.pem 文件。唯一缺少的是

  1. 将证书移至安全位置 和
  2. 赋予它正确的所有权 (icecast2/icecast)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...