# Hls over https

**URL:** https://community.wowza.com/t/hls-over-https/49655
**Category:** Wowza Streaming Engine
**Created:** [September 9, 2017, 7:38pm UTC](https://community.wowza.com/t/hls-over-https/49655 "2017-09-09T19:38:57Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![Peter\_Bednar1](https://avatars.discourse-cdn.com/v4/letter/p/f9ae1b/32.png) [@Peter\_Bednar1](https://community.wowza.com/u/Peter_Bednar1)
#### Post date: [September 9, 2017, 7:38pm UTC](https://community.wowza.com/t/hls-over-https/49655/1 "2017-09-09T19:38:57Z")

</div>

Hi

I would like to ask what’s the best approach to deliver http stream to https page to avoid browser warning about mixed content.

I’ have configure ssl security on wowza but it’s resource killer (CPU and RAM). Is there any solution?

Thanks

Peter

---

<div class="post-metadata">

### Author: ![system](https://sea2.discourse-cdn.com/flex002/user_avatar/community.wowza.com/system/32/447_2.png) [@system](https://community.wowza.com/u/system)
#### Post date: [September 9, 2017, 8:00pm UTC](https://community.wowza.com/t/hls-over-https/49655/2 "2017-09-09T20:00:19Z")

</div>

Mixing HTTP and HTTPS content will always throw a Cross Origin Resource Sharing (CORS) at the browser level. There is no method to either suppress or ignore that warning. Content must always use HTTP only or HTTPS only.

As for resource usage, please make sure that your server meets our [minimum hardware specifications](https://www.wowza.com/products/streaming-engine/specifications).

---

<div class="post-metadata">

### Author: ![system](https://sea2.discourse-cdn.com/flex002/user_avatar/community.wowza.com/system/32/447_2.png) [@system](https://community.wowza.com/u/system)
#### Post date: [September 9, 2017, 8:16pm UTC](https://community.wowza.com/t/hls-over-https/49655/3 "2017-09-09T20:16:27Z")

</div>

Please reference the following.

[https://www.wowza.com/docs/how-to-request-an-ssl-certificate-from-a-certificate-authority](https://www.wowza.com/docs/how-to-request-an-ssl-certificate-from-a-certificate-authority)

From the article:

_“This article provides instructions for X509 certificates that are commonly received from the certificate authority.”_

And

_“X509 defines formats for public key certificates. RSA and DSA are two of thepublic key algorithms that can be used in X509 certificates.”_

In this page:  
[https://docs.oracle.com/javase/8/docs/technotes/tools/unix/keytool.html](https://docs.oracle.com/javase/8/docs/technotes/tools/unix/keytool.html)

You can search for these lines:

_-keysize_  
_2048 (when using -genkeypair and -keyalg is “RSA”)_  
_1024 (when using -genkeypair and -keyalg is “DSA”)_

Further research leads to this discussion:  
[https://stackoverflow.com/questions/2841094/what-is-the-difference-between-dsa-and-rsa](https://stackoverflow.com/questions/2841094/what-is-the-difference-between-dsa-and-rsa)

DSA is faster in _signing_, but slower in _verifying_. A DSA key of the same strength as RSA (1024 bits) generates a smaller signature. An RSA 512 bit key has been cracked, but only a 280 DSA key.

So RSA would need to be used and because it can both encrypt and decrypt, and an RSA 512 has already been cracked.

The StreamLock option is a good fit for a “Free” option needing HTTPS delivery, however if security of the content is a real concern then using RSA 2048 is a better fit, though the added overhead does have to be accounted for concerning resources.

---

<div class="post-metadata">

### Author: ![Peerasan\_Buranasanti](https://sea2.discourse-cdn.com/flex002/user_avatar/community.wowza.com/peerasan_buranasanti/32/2017_2.png) [@Peerasan\_Buranasanti](https://community.wowza.com/u/Peerasan_Buranasanti)
#### Post date: [September 10, 2017, 2:11am UTC](https://community.wowza.com/t/hls-over-https/49655/4 "2017-09-10T02:11:39Z")

</div>

May you can also use Nginx + SSL to caching HLS

---

<div class="post-metadata">

### Author: ![Peter\_Bednar1](https://avatars.discourse-cdn.com/v4/letter/p/f9ae1b/32.png) [@Peter\_Bednar1](https://community.wowza.com/u/Peter_Bednar1)
#### Post date: [September 25, 2017, 8:28pm UTC](https://community.wowza.com/t/hls-over-https/49655/5 "2017-09-25T20:28:47Z")

</div>

I really don’t care about security. My problem is that everyone’s serving sites over https and if I stream hls over http I get mixed content and google chrome blocks hls.js plugin in flowplayer due the mixed content.

I am trying to live stream over https to avoid this issue. But when I enable ssl stream lock as I was written I could stream only for 300 visitors and my CPU was at 100%. Normally with http I stream for 7000-8000 visitors.

Any ideas what is the best approach?

Thanks

---

<div class="post-metadata">

### Author: ![system](https://sea2.discourse-cdn.com/flex002/user_avatar/community.wowza.com/system/32/447_2.png) [@system](https://community.wowza.com/u/system)
#### Post date: [September 25, 2017, 10:01pm UTC](https://community.wowza.com/t/hls-over-https/49655/6 "2017-09-25T22:01:24Z")

</div>

You can use a less CPU intensive method for SSL delivery. Please reference the article below for more information on changing the cipher suite that is being used.

[https://www.wowza.com/docs/how-to-improve-ssl-configuration](https://www.wowza.com/docs/how-to-improve-ssl-configuration)

---

<div class="post-metadata">

### Author: ![Jeremy\_Greene](https://avatars.discourse-cdn.com/v4/letter/j/71c47a/32.png) [@Jeremy\_Greene](https://community.wowza.com/u/Jeremy_Greene)
#### Post date: [April 22, 2019, 12:39pm UTC](https://community.wowza.com/t/hls-over-https/49655/7 "2019-04-22T12:39:36Z")

</div>

Nothing more on this? This is a terrible setback for many uses of HLS, particularly when those TLS files being served over http are in fact AES encrypted. Per-session encryption will never, ever be as scalable as one-time encryption.

---

<div class="post-metadata">

### Author: ![Emre\_Karatasoglu\_Adv](https://avatars.discourse-cdn.com/v4/letter/e/0ea827/32.png) [@Emre\_Karatasoglu\_Adv](https://community.wowza.com/u/Emre_Karatasoglu_Adv)
#### Post date: [April 25, 2019, 7:43am UTC](https://community.wowza.com/t/hls-over-https/49655/8 "2019-04-25T07:43:11Z")

</div>

@Peter , you can also use nginx for handling 443 and proxy pass the hls request to your wowza via 1935 port.

Set the nginx server on your wowza streaming engine machine.

Listen 443 on nginx not on wowza

```auto
server {
        listen 443 ssl;
        server_name yourDomain;

        #sample nginx conf
        ssl_certificate ../ssl/server.crt;
	ssl_certificate_key ../ssl/server.key;
 	ssl_protocols SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2;
        #sample nginx conf 

		location / {
			proxy_pass http://localhost:1935/;
			proxy_http_version 1.1;
			proxy_set_header Upgrade $http_upgrade;
			proxy_set_header Connection "upgrade";
			proxy_redirect off;
			
			proxy_set_header Host $host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			   }
       }	

```

When you request

[https://yourDomain/yourApp/yourStream/playlist.m3u8](https://yourDomain/yourApp/yourStream/playlist.m3u8)

nginx handle this request and proxy passing the request to the wowza and get response from wowza then answer the request, by the way your link can work on https page and your wowza still working on 1935 😉

---

<div class="post-metadata">

### Author: ![yatindra\_tailor](https://avatars.discourse-cdn.com/v4/letter/y/87869e/32.png) [@yatindra\_tailor](https://community.wowza.com/u/yatindra_tailor)
#### Post date: [March 17, 2022, 3:49am UTC](https://community.wowza.com/t/hls-over-https/49655/9 "2022-03-17T03:49:15Z")

</div>

@Emre_Karatasoglu_Adv  
Thanks buddy, i had same problem and i’m finding solution for this problem for last 2 days, your solution work for me, thanks
