Aggiungere il supporto SSL a wowza con un proxy Apache

wowza è un server di streaming molto performante e con molte interessanti caratteristiche. Si, è a pagamento, ma qualcosa dovremo pur pagarlo, no? 🙂

E’ possibile configurare wowza anche per usare un certificato SSL e quindi rispondere con protocollo SSL, ma con alcuni certificati ho riscontrato problemi di validazione, con l’errore:
Verify return code: 21 (unable to verify the first certificate)
recuperato con un check (ipotizziamo la porta 1937 configurata per l’SSL):
openssl s_client -showcerts -connect IP_SERVER_WOWZA:1937

Di fatto questo crea problemi nella visualizzazione dei filmati, perché il client non riesce a validare il certificato.

Dato che con apache il certificato funzionava correttamente, la soluzione più veloce è stata quella di configurare Apache come proxy per il server di streaming. Vediamo come.

Innanzitutto abbiamo Apache che funziona correttamente e lo configuriamo per rispondere anche sulla porta 1937, quindi aggiungiamo nel fiel /etc/apache2/ports.conf la direttiva:
Listen 1937

Creiamo un virtualhost che risponda sulla porta 1937, faccia uso del certificato e con la direttiva proxypass configurata:


ServerName stream.miosito.it
ServerAdmin webmaster@localhost

SSLProxyEngine on

## Proxy rules
ProxyRequests Off
ProxyPreserveHost On
ProxyPassMatch ^/vod/video/(.*) https://127.0.0.1:1937/vod/video/$1

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

SSLEngine on

SSLCertificateFile /etc/apache2/ssl/CERT.crt
SSLCertificateKeyFile /etc/apache2/ssl/CERT.key
SSLCertificateChainFile /etc/apache2/ssl/CERT.ca-bundle

BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown


Configuriamo wowza per accettare connessioni sulla 1937 solo da localhost altrimenti non potremo avere sia apache che wowza sulla stessa porta. Modifichiamo nel file /usr/local/WowzaStreamingEngine/conf/VHost.xml la direttiva relativa alla porta in questione e sostituiamo * con 127.0.0.1.

Non dimentichiamo infine che wowza aggiunge l’header, quindi se anche apache aggiunge tale header, dovremo modificare il file /etc/apache2/conf-enabled/security.conf come segue:
Header unset Access-Control-Allow-Origin
Header always set Access-Control-Allow-Origin "*"

enjoy!

Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂



Taggato su: , , ,

Commenta