如果启用,icecast 会强制使用 ssl 吗?

does icecast force ssl if enabled?

在 icecast 2.4.2 的文档中,我看到以下关于 ssl 的内容。

ssl If set to 1 will enable HTTPS on this listen-socket. Icecast must have been compiled against openSSL to be able to do so.

但是我不清楚这个措辞是否强制为此端口使用 ssl?我想知道这一点,因为我们 运行 遇到了 Safari 强制 ssl 重定向的问题,我们希望服务器在同一端口上同时侦听 ssl 和非 ssl(如果可能的话)

另一件事是它说它必须针对 openSSL 进行编译,但我们正在从 apt 安装它到 xenial。这是否意味着它默认为 ssl?

谢谢~!

某种意义上是这样。如果您将 Icecast 用作其自己的服务器,则 Icecast 将不会解析已启用的 ssl 端口,除非其 https://

您也不能对 ssl 和非 ssl 使用相同的端口。

最后,xenial ubuntu 包也不是 为 ssl 编译的。

However this wording is unclear to me whether or not the ssl is forced for this port or not?

在那个特定的插座上,它是。绑定到该套接字的服务器不能同时支持 HTTPS 和非 HTTPS。通常,您将为 HTTP 使用端口 80,为 HTTPS 使用端口 443

请注意,您可以将多个套接字绑定到 Icecast,只需放入多个 <listen-socket> 部分即可。以这种方式同时提供 HTTP 和 HTTPS 是很常见的。

I am wondering this because we are running into an issue where safari is forcing ssl redirect

您的服务器配置与此处无关。 Icecast 不会将 HTTP 请求重定向到 HTTPS。有可能您在 HTTPS 上点击了一次流,并且 Safari 缓存了它。也有可能您为您的域打开了 HSTS 或其他东西。您必须使用 Fiddler 等工具对其进行调试。

and we want to keep the server listening on both ssl and non-ssl on the same port

你说"keep the server listening"...那是不可能的。如果您今天看起来是这样设置的,那是不准确的。