{"id":542,"date":"2017-10-20T20:57:16","date_gmt":"2017-10-20T19:57:16","guid":{"rendered":"https:\/\/vanmarion.nl\/blog\/?p=542"},"modified":"2020-07-01T12:14:49","modified_gmt":"2020-07-01T11:14:49","slug":"ssl-letsencrypt-wowza-4-x-server-frontend","status":"publish","type":"post","link":"https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/","title":{"rendered":"SSL Letsencrypt on Wowza 4.x Server &#8211; Frontend + Backend"},"content":{"rendered":"<p><strong>Update July 1st, 2020<\/strong><\/p>\n<p>I created new pages for installation of Letsencrypt on CentOS7 and Ubuntu 18\/20.04<\/p>\n<p><a href=\"https:\/\/vanmarion.nl\/blog\/blog\/wowza-4-8-x-ubuntu-18-04-20-04-letsencrypt\/\">Wowza 4.8.x \u2013 Ubuntu 18.04\/20.04 \u2013 Letsencrypt<\/a><\/p>\n<p><a href=\"https:\/\/vanmarion.nl\/blog\/blog\/wowza-4-8-x-centos7-letsencrypt\/\">Wowza 4.8.x \u2013 CentOS7 \u2013 Letsencrypt<\/a><\/p>\n<p>The post below is deprecated and not supported anymore.<\/p>\n<p><strong>Update june 22 2020,<\/strong><\/p>\n<p>I deleted the latest update, because somehow the letsencrypt setup doesn&#8217;t work anymore since 4.8.0. I have to do extended testing on this. So from today this page is not supported anymore. Feel free to leave a comment if you want. Whenever i have an update on this i will create a post.&nbsp;<\/p>\n<p><strong>Update april 18, 2018<\/strong><\/p>\n<p>I found out that when Java8 had issues installing on Ubuntu 16.04. After that fixed, i wanted to install letsencrypt, but that part also has changed a bit. Will update this tutorial in the next coming days and probably have an update in 2 days (april 20). Tests went fine, but will double check with a fresh install of ubuntu, wowza and letsencrypt. The tutorial should work (i adjusted some commands and explanation).<\/p>\n<p>I will also update this tutorial with how to setup a firewall (i use CSF) for my wowza usage<\/p>\n<p><strong><em>Update okt 20, 2017<\/em>.<\/strong> I found out the letsencrypt certificate is not being updated automaticly. Added the upgrade process at the botttom of this page before trouble shooting<\/p>\n<p><em><strong>Update august 17,2017<\/strong><\/em> &#8211; I had problems to get the backend running on ssl too, but i got that fixed.&nbsp;<\/p>\n<p>How to install Letsencrypt on a Wowza Streamingengine server<\/p>\n<p><strong>The problem:<\/strong><br \/>\n<a href=\"https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/jwplayer-ssl-error.jpg\" data-rel=\"lightbox-gallery-1XrWcsmy\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-543\" src=\"https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/jwplayer-ssl-error-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/jwplayer-ssl-error-150x150.jpg 150w, https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/jwplayer-ssl-error-160x160.jpg 160w, https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/jwplayer-ssl-error-320x320.jpg 320w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a>I ran into the problem where i had a webserver and a domain running on an ssl certificate. From that point on i got errors that i couldn&#8217;t connect to my wowza server (which was non-SSL). So i had to figger out at least how to get the frontend of wowza also be able to send out streams based on an SSL certifate. Here you can see the issue i got in my jwplayer which runs on a domain with ssl certificate on it:&nbsp;<\/p>\n<p><strong>Analyze:<\/strong><br \/>\nSo i started googling for it, but couldnt find a real solution for it to enable letsencrypt on wowza. You can use streamlock within wowza, but im just running a developer wowza server, so i wanted a different solution. The major part was the frontend. Would be nice to also use the backend on SSL (enginemanager). At this point i got it both working<\/p>\n<p>So i did some testing, tweaking and got it figgered out. This is what i will explain:<\/p>\n<ul>\n<li>installation of letsencrypt<\/li>\n<li>2 cronjobs for automatic renew and update letsencrypt automaticly<\/li>\n<li>convert the SSL certificate to a JKS format<\/li>\n<li>configure the Certificate within Wowza<\/li>\n<\/ul>\n<p><strong>Keep in mind:<\/strong><\/p>\n<ul>\n<li>Your server might will have an increase of virtual memory because of the ssl<\/li>\n<li>Always test this in your test environment. Don&#8217;t keep me responsible for it. This is a guide as is.<\/li>\n<\/ul>\n<p>I decided to make a complete installation guide of a Letsencrypt setup with the things i have found. Make sure to do this on a test environment first, i won&#8217;t take responsibility if it will brake your setup. This tutorial is just a guide on how you might can get it work within your environment!&nbsp;Last thing is that you should have root access to your server, knowledge of your firewall (i can recommend csf) so knowing how to open ports, is a must.<\/p>\n<p>The installation is broken down into 2 parts (installation of LetsEncrypt and the configuration within Wowza)<\/p>\n<p><strong>References\/Credits:<\/strong><\/p>\n<ul>\n<li>installation of letsencrypt:&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/security\/ssl\/install-lets-encrypt-to-create-ssl-certificates\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/www.linode.com\/docs\/security\/ssl\/install-lets-encrypt-to-create-ssl-certificates<\/a><\/li>\n<li>letsencrypt: <a href=\"https:\/\/letsencrypt.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/letsencrypt.org\/<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/robymus\" target=\"_blank\" rel=\"noopener noreferrer\">Robymus<\/a> (Github user who made a converter for the SSL script so we can use it in Wowza) I couldn&#8217;t make it to work without it. : <a href=\"https:\/\/github.com\/robymus\/wowza-letsencrypt-converter\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/github.com\/robymus\/wowza-letsencrypt-converter<\/a><\/li>\n<\/ul>\n<h1>Installation LetsEncrypt SSL<\/h1>\n<p>Login to your wowza server with putty or other ssh client and go to the tmp directory or your home directory, i always prefer the tmp directory<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">cd \/tmp<\/pre>\n<p>Make sure your server is up to date:&nbsp;<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">apt-get update &amp;&amp; sudo apt-get upgrade<\/pre>\n<p>Install Git and add the repo to your server<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">apt-get install git\r\ngit clone https:\/\/github.com\/certbot\/certbot \/opt\/letsencrypt<\/pre>\n<p>Navigate to your letsencrypt directory<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">cd \/opt\/letsencrypt<\/pre>\n<p>From here you have to change the domain name. My domainname (vps4.vanmarion.nl) points to my wowza server, so i will use that domain. You have to change that to yours.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">sudo certbot certonly --standalone --preferred-challenges http -d vps4.vanmarion.nl<\/pre>\n<p>Now you have to set a valid emailaddress which will be administrative emailadress. It will be used if the certificate is giving you issues. Also agree with the terms.<br \/>\nThe last Question is if you are willing to share. I set an Y. Its up to you what you want.<\/p>\n<p>Enter email address (used for urgent renewal and security notices) (Enter &#8216;c&#8217; to<br \/>\ncancel): jeroen@vanmarion.nl<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nPlease read the Terms of Service at<br \/>\nhttps:\/\/letsencrypt.org\/documents\/LE-SA-v1.1.1-August-1-2016.pdf. You must agree<br \/>\nin order to register with the ACME server at<br \/>\nhttps:\/\/acme-v01.api.letsencrypt.org\/directory<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n(A)gree\/(C)ancel: A<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nWould you be willing to share your email address with the Electronic Frontier<br \/>\nFoundation, a founding partner of the Let&#8217;s Encrypt project and the non-profit<br \/>\norganization that develops Certbot? We&#8217;d like to send you email about EFF and<br \/>\nour work to encrypt the web, protect its users and defend digital rights.<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n(Y)es\/(N)o: N<br \/>\nObtaining a new certificate<br \/>\nPerforming the following challenges:<br \/>\ntls-sni-01 challenge for vps1.vanmarion.nl<br \/>\nWaiting for verification&#8230;<br \/>\nCleaning up challenges<\/p>\n<p>&nbsp;<\/p>\n<p>After the installation you should see a similaire message like this:<br \/>\nThe expiration date is over 90 days<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">- If you lose your account credentials, you can recover them through\r\n  e-mails sent to somebody@example.com.\r\n- Congratulations! Your certificate and chain have been saved at\r\n  \/etc\/letsencrypt\/live\/vps1.vanmarion.nl\/fullchain.pem. Your\r\n  cert will expire on 2017-10-29. To obtain a new version of the\r\n  certificate in the future, simply run Let's Encrypt again.\r\n- Your account credentials have been saved in your Let's Encrypt\r\n  configuration directory at \/etc\/letsencrypt. You should make a\r\n  secure backup of this folder now. This configuration directory will\r\n  also contain certificates and private keys obtained by Let's\r\n  Encrypt, so making regular backups of this folder is ideal.\r\n- If you like Let's Encrypt, please consider supporting our work by:\r\n\r\n  Donating to ISRG \/ Let's Encrypt:   https:\/\/letsencrypt.org\/donate\r\n  Donating to EFF:                    https:\/\/eff.org\/donate-le<\/pre>\n<p>Some checks to see if your certificate has been created<\/p>\n<p>List the \/etc\/letsencrypt\/live directory:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">ls \/etc\/letsencrypt\/live<\/pre>\n<p>Each domain name you specified in Step 1 of the Create an SSL Certificate section has its own directory. List any of these domain name directories:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">ls \/etc\/letsencrypt\/live\/vps1.vanmarion.nl<\/pre>\n<p>You should see it like this:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">cert.pem chain.pem fullchain.pem privkey.pem<\/pre>\n<p>Each key (.pem) file serves a different purpose:<\/p>\n<ul>\n<li>cert.pem: server certificate only<\/li>\n<li>chain.pem: root and intermediate certificates only<\/li>\n<li>fullchain.pem: combination of server, root and intermediate certificates (replaces cert.pem and chain.pem).<\/li>\n<li>privkey.pem: private key (do not share this with anyone!).<\/li>\n<\/ul>\n<p>Let\u2019s Encrypt issues certificates from intermediate certificate authorities. Intermediate certificates have been cross-signed by Identrust, which ensures compatibility between the end certificate and all major browsers<\/p>\n<p>For good measure, display the file status of fullchain.pem: (change vps1.vanmarion.nl with your domain)<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">stat \/etc\/letsencrypt\/live\/vps1.vanmarion.nl\/fullchain.pem\r\n\r\n#which will give this output\r\nFile: \u2018live\/vps4.vanmarion.nl\/cert.pem\u2019 -&gt; \u2018..\/..\/archive\/vps4.vanmarion.nl\/cert1.pem\u2019\r\n Size: 46 Blocks: 0 IO Block: 4096 symbolic link\r\nDevice: 801h\/2049d Inode: 1298340 Links: 1\r\nAccess: (0777\/lrwxrwxrwx) Uid: ( 0\/ root) Gid: ( 0\/ root)\r\nAccess: 2018-04-18 02:58:40.840073805 +0200\r\nModify: 2018-04-18 02:58:40.812073942 +0200\r\nChange: 2018-04-18 02:58:40.812073942 +0200\r\n Birth: -<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2>Cronjobs<\/h2>\n<p>These are needed to automaticly update letsencrypt en renew your SSL certificate is needed. Add these 2 lines to crontab and change vps1.vanmarion.nl to your own domain. I use the vi editor, so if you use nano you know how to edit the crontab file<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">crontab -e\r\n\r\n#add these 2 lines\r\n@weekly root cd \/opt\/letsencrypt &amp;&amp; git pull &gt;&gt; \/var\/log\/letsencrypt\/letsencrypt-auto-update.log\r\n@monthly root \/opt\/letsencrypt\/letsencrypt-auto certonly --quiet --standalone --renew-by-default -d vps4.vanmarion.nl &gt;&gt; \/var\/log\/letsencrypt\/letsencrypt-auto-update.log<\/pre>\n<p>&nbsp;<\/p>\n<p>So now every week letsencrypt is updated and everymonth the ssl is checked and updated<\/p>\n<p>Ok. for now letsencrypt is installed. Time to switch to the Wowza setup<\/p>\n<h1>Wowza Configuration<\/h1>\n<p>Robymus made java converter file which converts je SSL to an JKS file. For more information, please visit his Github page. For this installation i like to keep my wowza java files in one place, so i will download the jar file to the lib directory<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">cd \/usr\/local\/WowzaStreamingEngine\/lib \r\nwget https:\/\/github.com\/robymus\/wowza-letsencrypt-converter\/releases\/download\/v0.1\/wowza-letsencrypt-converter-0.1.jar<\/pre>\n<ul>\n<li>The letsencrypt-live-path parameter defaults to \/etc\/letsencrypt\/live, as is in common Linux systems, might be different on others.<\/li>\n<li>The output-path must be an existing and writable directory, here a new JKS keystore will be created for every certificate in the input directory.<\/li>\n<li>Together with a file jksmap.txt containing the domain to keystore mapping to be used in the VHost.xml of Wowza Streaming Engine.<\/li>\n<li>The generated JKS password will be &#8216;secret&#8217;.<\/li>\n<\/ul>\n<p>So now we will put the files needed in the conf directory. You are free to do otherwise, just as long as you know the locations where you put the files, because you need the paths later on in this installation<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">cd \/usr\/local\/WowzaStreamingEngine\/lib\r\njava -jar wowza-letsencrypt-converter-0.1.jar -v \/usr\/local\/WowzaStreamingEngine\/conf\/ \/etc\/letsencrypt\/live\/<\/pre>\n<p>&nbsp;<\/p>\n<p>So, lets see if the files are created:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">cd \/usr\/local\/WowzaStreamingEngine\/conf\/\r\nls\r\n\r\n#you should see these files (where vps1.vanmarion.nl should be your domain)\r\n\r\nvps1.vanmarion.nl.jks\r\njksmap.txt<\/pre>\n<p>&nbsp;<\/p>\n<p>We now need the content of the jksmap.txt file, so we can use that in the Wowza configuration (VHost.xml).&nbsp;<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">The jks file is needed for conversion. The jskmap you can read, because you need the settings in it, so we change that in the VHost.xml file\r\ncd \/usr\/local\/WowzaStreamingEngine\/conf\/\r\ncat jksmap.txt\r\n\r\n#result:\r\nvps1.vanmarion.nl={\"keyStorePath\":\"\/usr\/local\/WowzaStreamingEngine\/conf\/vps1.vanmarion.nl.jks\", \"keyStorePassword\":\"secret\", \"keyStoreType\":\"JKS\"}<\/pre>\n<p>&nbsp;<\/p>\n<p>As you can see there is the data we need<\/p>\n<ul>\n<li>keyStorePath:&nbsp;\/usr\/local\/WowzaStreamingEngine\/conf\/vps4.vanmarion.nl.jks<\/li>\n<li>keyStorePassword: secret<\/li>\n<\/ul>\n<p>those are the only 2 lines you need (copy and save them somewhere local).<\/p>\n<p>Open the Wowza VHost.xml and search for the 443 HostPort and comment out the &lt;!&#8211; before HostPort and &#8211;&gt; at the end of \/HostPort<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">vi \/usr\/local\/WowzaStreamingEngine\/conf\/VHost.xml\r\n\r\n# remove the &lt;!-- at the start and --&gt; at the end of the HostPort element. \r\n\r\n&lt;!-- 443 with SSL --&gt;\r\n            &lt;!--\r\n            &lt;HostPort&gt;\r\n                &lt;Name&gt;Default SSL Streaming&lt;\/Name&gt;\r\n                &lt;Type&gt;Streaming&lt;\/Type&gt;\r\n                &lt;ProcessorCount&gt;${com.wowza.wms.TuningAuto}&lt;\/ProcessorCount&gt;\r\n                &lt;IpAddress&gt;*&lt;\/IpAddress&gt;\r\n                &lt;Port&gt;443&lt;\/Port&gt;\r\n                &lt;HTTPIdent2Response&gt;&lt;\/HTTPIdent2Response&gt;\r\n                &lt;SSLConfig&gt;\r\n                    &lt;KeyStorePath&gt;${com.wowza.wms.context.VHostConfigHome}\/conf\/keystore.jks&lt;\/KeyStorePath&gt;\r\n                    &lt;KeyStorePassword&gt;[password]&lt;\/KeyStorePassword&gt;\r\n                    &lt;KeyStoreType&gt;JKS&lt;\/KeyStoreType&gt;\r\n                    &lt;DomainToKeyStoreMapPath&gt;&lt;\/DomainToKeyStoreMapPath&gt;\r\n                    &lt;SSLProtocol&gt;TLS&lt;\/SSLProtocol&gt;\r\n                    &lt;Algorithm&gt;SunX509&lt;\/Algorithm&gt;\r\n                    &lt;CipherSuites&gt;&lt;\/CipherSuites&gt;\r\n                    &lt;Protocols&gt;&lt;\/Protocols&gt;\r\n                &lt;\/SSLConfig&gt;\r\n                &lt;SocketConfiguration&gt;\r\n                    &lt;ReuseAddress&gt;true&lt;\/ReuseAddress&gt;\r\n                    &lt;ReceiveBufferSize&gt;65000&lt;\/ReceiveBufferSize&gt;\r\n                    &lt;ReadBufferSize&gt;65000&lt;\/ReadBufferSize&gt;\r\n                    &lt;SendBufferSize&gt;65000&lt;\/SendBufferSize&gt;\r\n                    &lt;KeepAlive&gt;true&lt;\/KeepAlive&gt;\r\n                    &lt;AcceptorBackLog&gt;100&lt;\/AcceptorBackLog&gt;\r\n                &lt;\/SocketConfiguration&gt;\r\n                &lt;HTTPStreamerAdapterIDs&gt;cupertinostreaming,smoothstreaming,sanjosestreaming,dvrchunkstreaming,mpegdashstreaming&lt;\/HTTPStreamerAdapterIDs&gt;\r\n                &lt;HTTPProviders&gt;\r\n                    &lt;HTTPProvider&gt;\r\n                        &lt;BaseClass&gt;com.wowza.wms.http.HTTPCrossdomain&lt;\/BaseClass&gt;\r\n                        &lt;RequestFilters&gt;*crossdomain.xml&lt;\/RequestFilters&gt;\r\n                        &lt;AuthenticationMethod&gt;none&lt;\/AuthenticationMethod&gt;\r\n                    &lt;\/HTTPProvider&gt;\r\n                    &lt;HTTPProvider&gt;\r\n                        &lt;BaseClass&gt;com.wowza.wms.http.HTTPClientAccessPolicy&lt;\/BaseClass&gt;\r\n                        &lt;RequestFilters&gt;*clientaccesspolicy.xml&lt;\/RequestFilters&gt;\r\n                        &lt;AuthenticationMethod&gt;none&lt;\/AuthenticationMethod&gt;\r\n                    &lt;\/HTTPProvider&gt;\r\n                    &lt;HTTPProvider&gt;\r\n                        &lt;BaseClass&gt;com.wowza.wms.http.HTTPProviderMediaList&lt;\/BaseClass&gt;\r\n                        &lt;RequestFilters&gt;*jwplayer.rss|*jwplayer.smil|*medialist.smil|*manifest-rtmp.f4m&lt;\/RequestFilters&gt;\r\n                        &lt;AuthenticationMethod&gt;none&lt;\/AuthenticationMethod&gt;\r\n                    &lt;\/HTTPProvider&gt;\r\n                    &lt;HTTPProvider&gt;\r\n                        &lt;BaseClass&gt;com.wowza.wms.http.HTTPServerVersion&lt;\/BaseClass&gt;\r\n                        &lt;RequestFilters&gt;*&lt;\/RequestFilters&gt;\r\n                        &lt;AuthenticationMethod&gt;none&lt;\/AuthenticationMethod&gt;\r\n                    &lt;\/HTTPProvider&gt;\r\n                &lt;\/HTTPProviders&gt;\r\n            &lt;\/HostPort&gt;\r\n            --&gt;<\/pre>\n<p>In the meanwhile you also have to edit the 2 lines:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&lt;KeyStorePath&gt;${com.wowza.wms.context.VHostConfigHome}\/conf\/keystore.jks&lt;\/KeyStorePath&gt;\r\n&lt;KeyStorePassword&gt;[password]&lt;\/KeyStorePassword&gt;<\/pre>\n<p>To: &nbsp;(change vps1.vanmarion.nl to your domain)<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&lt;KeyStorePath&gt;${com.wowza.wms.context.VHostConfigHome}\/conf\/vps4.vanmarion.nl.jks&lt;\/KeyStorePath&gt;\r\n&lt;KeyStorePassword&gt;secret&lt;\/KeyStorePassword&gt;<\/pre>\n<p>So the new&nbsp;&lt;!&#8211; 443 with SSL &#8211;&gt; part should look like this after changing.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&lt;!-- 443 with SSL --&gt;\r\n            &lt;HostPort&gt;\r\n                &lt;Name&gt;Default SSL Streaming&lt;\/Name&gt;\r\n                &lt;Type&gt;Streaming&lt;\/Type&gt;\r\n                &lt;ProcessorCount&gt;${com.wowza.wms.TuningAuto}&lt;\/ProcessorCount&gt;\r\n                &lt;IpAddress&gt;*&lt;\/IpAddress&gt;\r\n                &lt;Port&gt;443&lt;\/Port&gt;\r\n                &lt;HTTPIdent2Response&gt;&lt;\/HTTPIdent2Response&gt;\r\n                &lt;SSLConfig&gt;\r\n                    &lt;KeyStorePath&gt;${com.wowza.wms.context.VHostConfigHome}\/conf\/vps4.vanmarion.nl.jks&lt;\/KeyStorePath&gt;\r\n                    &lt;KeyStorePassword&gt;secret&lt;\/KeyStorePassword&gt;\r\n                    &lt;KeyStoreType&gt;JKS&lt;\/KeyStoreType&gt;\r\n                    &lt;DomainToKeyStoreMapPath&gt;&lt;\/DomainToKeyStoreMapPath&gt;\r\n                    &lt;SSLProtocol&gt;TLS&lt;\/SSLProtocol&gt;\r\n                    &lt;Algorithm&gt;SunX509&lt;\/Algorithm&gt;\r\n                    &lt;CipherSuites&gt;&lt;\/CipherSuites&gt;\r\n                    &lt;Protocols&gt;&lt;\/Protocols&gt;\r\n                &lt;\/SSLConfig&gt;\r\n                &lt;SocketConfiguration&gt;\r\n                    &lt;ReuseAddress&gt;true&lt;\/ReuseAddress&gt;\r\n                    &lt;ReceiveBufferSize&gt;65000&lt;\/ReceiveBufferSize&gt;\r\n                    &lt;ReadBufferSize&gt;65000&lt;\/ReadBufferSize&gt;\r\n                    &lt;SendBufferSize&gt;65000&lt;\/SendBufferSize&gt;\r\n                    &lt;KeepAlive&gt;true&lt;\/KeepAlive&gt;\r\n                    &lt;AcceptorBackLog&gt;100&lt;\/AcceptorBackLog&gt;\r\n                &lt;\/SocketConfiguration&gt;\r\n                &lt;HTTPStreamerAdapterIDs&gt;cupertinostreaming,smoothstreaming,sanjosestreaming,dvrchunkstreaming,mpegdashstreaming&lt;\/HTTPStreamerAdapterIDs&gt;\r\n                &lt;HTTPProviders&gt;\r\n                    &lt;HTTPProvider&gt;\r\n                        &lt;BaseClass&gt;com.wowza.wms.http.HTTPCrossdomain&lt;\/BaseClass&gt;\r\n                        &lt;RequestFilters&gt;*crossdomain.xml&lt;\/RequestFilters&gt;\r\n                        &lt;AuthenticationMethod&gt;none&lt;\/AuthenticationMethod&gt;\r\n                    &lt;\/HTTPProvider&gt;\r\n                    &lt;HTTPProvider&gt;\r\n                        &lt;BaseClass&gt;com.wowza.wms.http.HTTPClientAccessPolicy&lt;\/BaseClass&gt;\r\n                        &lt;RequestFilters&gt;*clientaccesspolicy.xml&lt;\/RequestFilters&gt;\r\n                        &lt;AuthenticationMethod&gt;none&lt;\/AuthenticationMethod&gt;\r\n                    &lt;\/HTTPProvider&gt;\r\n                    &lt;HTTPProvider&gt;\r\n                        &lt;BaseClass&gt;com.wowza.wms.http.HTTPProviderMediaList&lt;\/BaseClass&gt;\r\n                        &lt;RequestFilters&gt;*jwplayer.rss|*jwplayer.smil|*medialist.smil|*manifest-rtmp.f4m&lt;\/RequestFilters&gt;\r\n                        &lt;AuthenticationMethod&gt;none&lt;\/AuthenticationMethod&gt;\r\n                    &lt;\/HTTPProvider&gt;\r\n                    &lt;HTTPProvider&gt;\r\n                        &lt;BaseClass&gt;com.wowza.wms.http.HTTPServerVersion&lt;\/BaseClass&gt;\r\n                        &lt;RequestFilters&gt;*&lt;\/RequestFilters&gt;\r\n                        &lt;AuthenticationMethod&gt;none&lt;\/AuthenticationMethod&gt;\r\n                    &lt;\/HTTPProvider&gt;\r\n                &lt;\/HTTPProviders&gt;\r\n            &lt;\/HostPort&gt;<\/pre>\n<p>Ok. Done, save the file and restart the Streamingengine<\/p>\n<pre class=\"lang:default decode:true \">service WowzaStreamingEngine restart<\/pre>\n<p>Make sure you have opened port 443 on your firewall.&nbsp;<\/p>\n<h1>Backend (EngineManager) on SSL<\/h1>\n<p>To be able to run the Enginemanager on https too, you have to change the startmgr.sh file. The enginemanager runs on his own port (normally 8088), but for ssl we are going to use 8090. That is just for the enginemanager service but you will use that port next time.&nbsp;<\/p>\n<p>Ok. Open the file startmgr.sh<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">vi \/usr\/local\/WowzaStreamingEngine\/manager\/bin\/startmgr.sh<\/pre>\n<p>In this file you will see 2 CMD commands. Because im using the StreamingEngine and not the cloud, i only have to change the <strong>second<\/strong> CMD command. We need the location of the jks file we created above here. So if you have done that right it should be like this: (my jks file vps1.vanmarion.nl.jks is located in the conf directory)<\/p>\n<p>Note: its best to comment out the line to put # in front of the line. Then copy that same line to notepad, do your adjustments and paste it below it. So in case it won&#8217;t work, you can always rollback easy<\/p>\n<p><strong>Note: Make sure the complete command is on 1 line:<\/strong> (my new command)<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">CMD=\"$_EXECJAVA -Dcom.wowza.wms.ConfigURL=\\\"\\\" -Dcom.wowza.wms.ConfigHome=$WMSMGR_HOME -Djava.io.tmpdir=$WMSMGR_HOME\/temp \r\n-Dlog4j.configuration=file:\/\/$WMSMGR_HOME\/conf\/winstone.properties -Djava.net.preferIPv4Stack=true -jar $WMSMGR_HOME\/lib\/wms-winstone-1.0.5-boot.jar \r\n--prefix=\/enginemanager --defaultWebApp=\/enginemanager --tempDirectory=$WMSMGR_HOME\/temp  --webroot=$WMSMGR_HOME\/temp --warfile=$WMSMGR_HOME\/lib\/WMSManager.war \r\n--httpPort=8088 --httpsPort=8090 --httpsKeyStore=\"\/usr\/local\/WowzaStreamingEngine\/conf\/vps1.vanmarion.nl.jks\" --httpsKeyStorePassword=\"secret\" --directoryListings=false\"<\/pre>\n<p>So what did i do? I added this line <strong>after<\/strong> &#8211;httpPort=8088&nbsp;and <strong>before<\/strong> &#8211;directoryListings=false<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">--httpsPort=8090 --httpsKeyStore=\"\/usr\/local\/WowzaStreamingEngine\/conf\/vps4.vanmarion.nl.jks\" --httpsKeyStorePassword=\"secret\"<\/pre>\n<p>&#8211;httpsPort=8090 &nbsp;\/\/ will be the new port where the Enginemanager will run on for SSL access<br \/>\n&#8211;httpsKeyStore=&#8221;\/usr\/local\/WowzaStreamingEngine\/conf\/vps1.vanmarion.nl.jks&#8221; &nbsp;\/\/ the location of my jks file<br \/>\n&#8211;httpsKeyStorePassword=&#8221;secret&#8221; \/\/ the password needed for the jks file<\/p>\n<p>Example of my code<br \/>\n<a href=\"https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/wow-ssl-manager.jpg\" data-rel=\"lightbox-gallery-1XrWcsmy\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-579\" src=\"https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/wow-ssl-manager-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/wow-ssl-manager-150x150.jpg 150w, https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/wow-ssl-manager-160x160.jpg 160w, https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/wow-ssl-manager-320x320.jpg 320w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>After this you can restart the WowzaEngine and manager<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">service WowzaStreamingEngine restart\r\nservice WowzaStreamingEngineManager restart\r\n\r\n#make sure to check if both are started\r\nps aux<\/pre>\n<p>So your new urls would be:<br \/>\nFrontend: http<strong>s<\/strong>:\/\/YOUR_WOWZA_IPADDRESS:443&nbsp;<br \/>\nBackend: http<strong>s<\/strong>:\/\/YOUR_WOWZA_IPADDRESS:8090\/enginemanager\/<\/p>\n<p>If all checks (see below SSL checks are ok, you could disable the http and switch the backend complete to https<\/p>\n<p><strong><em>If you only want to run the backend on SSL you have to edit the startmgr.sh file again and change the &#8211;httpPort=8088 to &#8211;httpPort=-1<\/em><\/strong><\/p>\n<p>and restart the enginemanager again<\/p>\n<h1>SSL Checks<\/h1>\n<p>If you want to do a check on your fresh installed SSL certificate, make sure to do a detailed test on it. Go to this url in your browser (<strong>change vps1.vanmarion.nl to your domain<\/strong>)<\/p>\n<p><a href=\"https:\/\/www.ssllabs.com\/ssltest\/analyze.html?d=vps1.vanmarion.nl\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/www.ssllabs.com\/ssltest\/analyze.html?d=vps1.vanmarion.nl<\/a><\/p>\n<p>get some coffee, the complete check can take a while ;).<br \/>\nThe SSL check results also shows some checks i have to fix on my server (its a fresh installed server, so i havent fixed the checks yet). So it will also give some advise on fixing your server<\/p>\n<p>Make sure to fix the problems from the report or as far as possible. In my case it is a fresh server and i have some work\/fixing to do:<\/p>\n<p><a href=\"https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/ssl-report-1.jpg\" data-rel=\"lightbox-gallery-1XrWcsmy\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-561\" src=\"https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/ssl-report-1-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/ssl-report-1-150x150.jpg 150w, https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/ssl-report-1-160x160.jpg 160w, https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/ssl-report-1-320x320.jpg 320w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/ssl-report-2.jpg\" data-rel=\"lightbox-gallery-1XrWcsmy\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-562\" src=\"https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/ssl-report-2-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/ssl-report-2-150x150.jpg 150w, https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/ssl-report-2-160x160.jpg 160w, https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/ssl-report-2-320x320.jpg 320w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h1>Conclusion<\/h1>\n<p>I have the SSL installed. I changed my wowza url in jwplayer from&nbsp;http:\/\/vps1.vanmarion.nl:1935\/vod\/transformers_last_knight_2017.mp4\/playlist.m3u8<br \/>\nto:&nbsp;https:\/\/vps1.vanmarion.nl:443\/vod\/transformers_last_knight_2017.mp4\/playlist.m3u8<\/p>\n<p># mind the http to https and the port change 1935 to 443<\/p>\n<p>And now it starts playing again.&nbsp;<\/p>\n<p><a href=\"https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/jwplayer-ssl-solved.jpg\" data-rel=\"lightbox-gallery-1XrWcsmy\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-551\" src=\"https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/jwplayer-ssl-solved-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/jwplayer-ssl-solved-150x150.jpg 150w, https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/jwplayer-ssl-solved-160x160.jpg 160w, https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/jwplayer-ssl-solved-320x320.jpg 320w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h1>Renewing your SSL certifate<\/h1>\n<p>I hoped by using the cronjobs the renewal process would go automatic, but that didnt happen. So this is what i did when renewing the SSL. First stop the wowza server, otherwise it cannot bind the address\/port<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">service WowzaStreamingengine stop\r\nservice WowzaStreamingEngineManager stop<\/pre>\n<p>And follow these steps<\/p>\n<p>i did a renewal of the script by running it again.&nbsp;<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">cd \/opt\/letsencrypt\r\nsudo certbot certonly --standalone --preferred-challenges http -d vps4.vanmarion.nl<\/pre>\n<p>It will ask you what you want. choose: 2<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Saving debug log to \/var\/log\/letsencrypt\/letsencrypt.log\r\nPlugins selected: Authenticator standalone, Installer None\r\nCert not yet due for renewal\r\n\r\nYou have an existing certificate that has exactly the same domains or certificate name you requested and isn't close to expiry.\r\n(ref: \/etc\/letsencrypt\/renewal\/vps4.vanmarion.nl.conf)\r\n\r\nWhat would you like to do?\r\n-------------------------------------------------------------------------------\r\n1: Keep the existing certificate for now\r\n2: Renew &amp; replace the cert (limit ~5 per 7 days)\r\n-------------------------------------------------------------------------------\r\nSelect the appropriate number [1-2] then [enter] (press 'c' to cancel): 2<\/pre>\n<p>After that the installation will renew the SSL<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Renewing an existing certificate\r\nPerforming the following challenges:\r\ntls-sni-01 challenge for vps1.vanmarion.nl\r\nWaiting for verification...\r\nCleaning up challenges\r\n\r\nIMPORTANT NOTES:\r\n - Congratulations! Your certificate and chain have been saved at:\r\n   \/etc\/letsencrypt\/live\/vps1.vanmarion.nl\/fullchain.pem\r\n   Your key file has been saved at:\r\n   \/etc\/letsencrypt\/live\/vps4.vanmarion.nl\/privkey.pem\r\n   Your cert will expire on 2018-07-18. To obtain a new or tweaked\r\n   version of this certificate in the future, simply run\r\n   letsencrypt-auto again. To non-interactively renew *all* of your\r\n   certificates, run \"letsencrypt-auto renew\"\r\n - If you like Certbot, please consider supporting our work by:\r\n\r\n   Donating to ISRG \/ Let's Encrypt:   https:\/\/letsencrypt.org\/donate\r\n   Donating to EFF:                    https:\/\/eff.org\/donate-le<\/pre>\n<p>Then rerun the letsencrypt-converter to create a new jksmap.txt<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">cd \/usr\/local\/WowzaStreamingEngine\/lib\r\njava -jar wowza-letsencrypt-converter-0.1.jar -v \/usr\/local\/WowzaStreamingEngine\/conf\/ \/etc\/letsencrypt\/live\/<\/pre>\n<p>Check if the file has the date of now<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">cd \/usr\/local\/WowzaStreamingEngine\/conf; ls -la<\/pre>\n<p>And thats all you have to do. Restart wowza again and do an ssl check again, and check if the streams still play on your current urls and ports<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">service WowzaStreamingengine start\r\nservice WowzaStreamingEngineManager start<\/pre>\n<p>SSL check. change domain_name to your wowza server address<\/p>\n<p>https:\/\/www.ssllabs.com\/ssltest\/analyze.html?d=domain_name<\/p>\n<h1>Troubleshooting<\/h1>\n<p>If for some reason your ssl is not working or your stream is not being played, check these things<\/p>\n<ul>\n<li>Make sure in your VHost.xml the comment tags are deleted in the SSL part. You can restart wowza without any problems, but if there is still an unclosed comment tag (&lt;!&#8211; or &#8211;&gt; ) in it, your ssl isn&#8217;t working.<\/li>\n<li>Check if port 443 is open on your server: &nbsp;<a href=\"http:\/\/www.yougetsignal.com\/tools\/open-ports\/\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/www.yougetsignal.com\/tools\/open-ports\/<\/a><\/li>\n<li>Check if your firewall has port 443 open&nbsp;<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>If you have any comments or suggestions, feel free to leave a reply<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Update July 1st, 2020 I created new pages for installation of Letsencrypt on CentOS7 and Ubuntu 18\/20.04 Wowza 4.8.x \u2013 Ubuntu 18.04\/20.04 \u2013 Letsencrypt Wowza 4.8.x \u2013 CentOS7 \u2013 Letsencrypt The post below is&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":581,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"image","meta":{"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"ngg_post_thumbnail":0,"footnotes":""},"categories":[9],"tags":[56,57,43,61,13],"class_list":["post-542","post","type-post","status-publish","format-image","has-post-thumbnail","hentry","category-wowza-4","tag-letsencrypt","tag-ssl","tag-streamingengine","tag-streamingenginemanager","tag-wowza","post_format-post-format-image"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>SSL Letsencrypt on Wowza 4.x Server - Frontend + Backend - Maca&#039;s Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SSL Letsencrypt on Wowza 4.x Server - Frontend + Backend - Maca&#039;s Blog\" \/>\n<meta property=\"og:description\" content=\"Update July 1st, 2020 I created new pages for installation of Letsencrypt on CentOS7 and Ubuntu 18\/20.04 Wowza 4.8.x \u2013 Ubuntu 18.04\/20.04 \u2013 Letsencrypt Wowza 4.8.x \u2013 CentOS7 \u2013 Letsencrypt The post below is&#046;&#046;&#046;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/\" \/>\n<meta property=\"og:site_name\" content=\"Maca&#039;s Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-10-20T19:57:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-07-01T11:14:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/wowza-ssl-letsencrypt-2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"712\" \/>\n\t<meta property=\"og:image:height\" content=\"339\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"maca\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"maca\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"18 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/\"},\"author\":{\"name\":\"maca\",\"@id\":\"https:\/\/vanmarion.nl\/blog\/#\/schema\/person\/e9c1e885818c75706a442ce1c36bb711\"},\"headline\":\"SSL Letsencrypt on Wowza 4.x Server &#8211; Frontend + Backend\",\"datePublished\":\"2017-10-20T19:57:16+00:00\",\"dateModified\":\"2020-07-01T11:14:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/\"},\"wordCount\":2199,\"commentCount\":25,\"image\":{\"@id\":\"https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/wowza-ssl-letsencrypt-2.png\",\"keywords\":[\"letsencrypt\",\"ssl\",\"streamingengine\",\"streamingenginemanager\",\"wowza\"],\"articleSection\":[\"Wowza 4.x\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/\",\"url\":\"https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/\",\"name\":\"SSL Letsencrypt on Wowza 4.x Server - Frontend + Backend - Maca&#039;s Blog\",\"isPartOf\":{\"@id\":\"https:\/\/vanmarion.nl\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/wowza-ssl-letsencrypt-2.png\",\"datePublished\":\"2017-10-20T19:57:16+00:00\",\"dateModified\":\"2020-07-01T11:14:49+00:00\",\"author\":{\"@id\":\"https:\/\/vanmarion.nl\/blog\/#\/schema\/person\/e9c1e885818c75706a442ce1c36bb711\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/#primaryimage\",\"url\":\"https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/wowza-ssl-letsencrypt-2.png\",\"contentUrl\":\"https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/wowza-ssl-letsencrypt-2.png\",\"width\":712,\"height\":339},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/vanmarion.nl\/blog\/#website\",\"url\":\"https:\/\/vanmarion.nl\/blog\/\",\"name\":\"Maca&#039;s Blog\",\"description\":\"Wowza, Linux, Enecsys and other stuff\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/vanmarion.nl\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/vanmarion.nl\/blog\/#\/schema\/person\/e9c1e885818c75706a442ce1c36bb711\",\"name\":\"maca\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/641a1e07cd7e1f30db468083ae1cea555b71bdc7907907b9effd82afcef9af52?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/641a1e07cd7e1f30db468083ae1cea555b71bdc7907907b9effd82afcef9af52?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/641a1e07cd7e1f30db468083ae1cea555b71bdc7907907b9effd82afcef9af52?s=96&d=mm&r=g\",\"caption\":\"maca\"},\"url\":\"https:\/\/vanmarion.nl\/blog\/blog\/author\/maca\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SSL Letsencrypt on Wowza 4.x Server - Frontend + Backend - Maca&#039;s Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/","og_locale":"en_US","og_type":"article","og_title":"SSL Letsencrypt on Wowza 4.x Server - Frontend + Backend - Maca&#039;s Blog","og_description":"Update July 1st, 2020 I created new pages for installation of Letsencrypt on CentOS7 and Ubuntu 18\/20.04 Wowza 4.8.x \u2013 Ubuntu 18.04\/20.04 \u2013 Letsencrypt Wowza 4.8.x \u2013 CentOS7 \u2013 Letsencrypt The post below is&#46;&#46;&#46;","og_url":"https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/","og_site_name":"Maca&#039;s Blog","article_published_time":"2017-10-20T19:57:16+00:00","article_modified_time":"2020-07-01T11:14:49+00:00","og_image":[{"width":712,"height":339,"url":"https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/wowza-ssl-letsencrypt-2.png","type":"image\/png"}],"author":"maca","twitter_misc":{"Written by":"maca","Est. reading time":"18 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/#article","isPartOf":{"@id":"https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/"},"author":{"name":"maca","@id":"https:\/\/vanmarion.nl\/blog\/#\/schema\/person\/e9c1e885818c75706a442ce1c36bb711"},"headline":"SSL Letsencrypt on Wowza 4.x Server &#8211; Frontend + Backend","datePublished":"2017-10-20T19:57:16+00:00","dateModified":"2020-07-01T11:14:49+00:00","mainEntityOfPage":{"@id":"https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/"},"wordCount":2199,"commentCount":25,"image":{"@id":"https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/#primaryimage"},"thumbnailUrl":"https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/wowza-ssl-letsencrypt-2.png","keywords":["letsencrypt","ssl","streamingengine","streamingenginemanager","wowza"],"articleSection":["Wowza 4.x"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/","url":"https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/","name":"SSL Letsencrypt on Wowza 4.x Server - Frontend + Backend - Maca&#039;s Blog","isPartOf":{"@id":"https:\/\/vanmarion.nl\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/#primaryimage"},"image":{"@id":"https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/#primaryimage"},"thumbnailUrl":"https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/wowza-ssl-letsencrypt-2.png","datePublished":"2017-10-20T19:57:16+00:00","dateModified":"2020-07-01T11:14:49+00:00","author":{"@id":"https:\/\/vanmarion.nl\/blog\/#\/schema\/person\/e9c1e885818c75706a442ce1c36bb711"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vanmarion.nl\/blog\/blog\/ssl-letsencrypt-wowza-4-x-server-frontend\/#primaryimage","url":"https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/wowza-ssl-letsencrypt-2.png","contentUrl":"https:\/\/vanmarion.nl\/blog\/wp-content\/uploads\/2017\/07\/wowza-ssl-letsencrypt-2.png","width":712,"height":339},{"@type":"WebSite","@id":"https:\/\/vanmarion.nl\/blog\/#website","url":"https:\/\/vanmarion.nl\/blog\/","name":"Maca&#039;s Blog","description":"Wowza, Linux, Enecsys and other stuff","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vanmarion.nl\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/vanmarion.nl\/blog\/#\/schema\/person\/e9c1e885818c75706a442ce1c36bb711","name":"maca","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/641a1e07cd7e1f30db468083ae1cea555b71bdc7907907b9effd82afcef9af52?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/641a1e07cd7e1f30db468083ae1cea555b71bdc7907907b9effd82afcef9af52?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/641a1e07cd7e1f30db468083ae1cea555b71bdc7907907b9effd82afcef9af52?s=96&d=mm&r=g","caption":"maca"},"url":"https:\/\/vanmarion.nl\/blog\/blog\/author\/maca\/"}]}},"_links":{"self":[{"href":"https:\/\/vanmarion.nl\/blog\/wp-json\/wp\/v2\/posts\/542","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vanmarion.nl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vanmarion.nl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vanmarion.nl\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vanmarion.nl\/blog\/wp-json\/wp\/v2\/comments?post=542"}],"version-history":[{"count":34,"href":"https:\/\/vanmarion.nl\/blog\/wp-json\/wp\/v2\/posts\/542\/revisions"}],"predecessor-version":[{"id":710,"href":"https:\/\/vanmarion.nl\/blog\/wp-json\/wp\/v2\/posts\/542\/revisions\/710"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vanmarion.nl\/blog\/wp-json\/wp\/v2\/media\/581"}],"wp:attachment":[{"href":"https:\/\/vanmarion.nl\/blog\/wp-json\/wp\/v2\/media?parent=542"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vanmarion.nl\/blog\/wp-json\/wp\/v2\/categories?post=542"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vanmarion.nl\/blog\/wp-json\/wp\/v2\/tags?post=542"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}