2015-05-13 155 views
1

我正在使用Icecast 2.3.3。IceCast流身份驗證

我想使用URL流身份驗證,問題是驗證服務器的URL不被Icecast服務器調用,我不知道爲什麼。 Icecast服務器在Azure上的Linux機器上運行,auth服務器是Azure Web App。我嘗試了不同的配置,並且出現意外錯誤。 首先,:

<mount type="normal"> 
    <mount-name>/local.ogg</mount-name> 
    <authentication type="url"> 
     <option name="stream_auth" value="http://localhost/"/> 
    </authentication> 
</mount> 

我得到這個錯誤(我的理解):

[2015-05-13 18:36:52] EROR connection/_handle_connection HTTP request parsing failed 
[2015-05-13 18:36:52] WARN auth_url/url_stream_auth auth to server http://localhost/ failed with Failed to connect to localhost port 80: Connection refused 
[2015-05-13 18:36:52] WARN auth/stream_auth_callback Failed auth for source "/local.ogg" 

然後,針對:

<mount type="normal"> 
    <mount-name>/ip.ogg</mount-name> 
    <authentication type="url"> 
     <option name="stream_auth" value="http://123.45.67.89/"/> 
    </authentication> 
</mount> 

同樣,錯誤,如我所料是(這個ip是隨機的):

[2015-05-13 18:37:34] EROR connection/_handle_connection HTTP request parsing failed 
[2015-05-13 18:37:35] WARN auth_url/url_stream_auth auth to server http://123.45.67.89/ failed with Connection timed out after 15008 milliseconds 
[2015-05-13 18:37:35] WARN auth/stream_auth_callback Failed auth for source "/ip.ogg" 

但是,當我想用​​我的Web應用程序

<mount type="normal"> 
    <mount-name>/blast.ogg</mount-name> 
    <authentication type="url"> 
     <option name="stream_auth" value="http://blast.azurewebsites.net/"/> 
    </authentication> 
</mount> 

我不明白會向我解釋什麼是錯的

[2015-05-13 18:38:29] EROR connection/_handle_connection HTTP request parsing failed 
[2015-05-13 18:38:30] WARN auth/stream_auth_callback Failed auth for source "/blast.ogg" 

有什麼我應該知道的Icecast stream_auth功能的錯誤?或者,也許我必須以不同的方式設置Icecast的虛擬機?

如果任何人有一個使用stream_auth的工作示例,那也將不勝感激。

+0

2.3.3到2.4.1容易受到遠程DoS CVE-2015-3026的影響 - 在生產中使用之前迫切需要升級到2.4.2! – TBR

+0

確保你的日誌級別是'4'又名DBUG。另外看看目標web服務器上的日誌記錄,以確保URL是否被請求等。 – TBR

+0

在Icecast網站上,當前版本是2.4.1。我怎樣才能得到最新的? – johnatann

回答

1

看起來像icecast安裝過程不檢查libcurl的可用性。這是功能需要的。檢查你的config.log中是否有「libcurl not found」消息 如果是這樣,那麼你可以運行「apt-get install libcurl4-gnutils-dev」來安裝libcurl。這應該解決這個錯誤。

+1

更新到2.4.2並安裝libcurl解決了這個問題,謝謝@orn – johnatann