I have a wowza 4.4.1 node that I’m trying to set up to use SSL on. I’ve successfully done this on a node running 4.7.0 and all of the configs match as best I can tell. Getting the below error on my node with the problem when hitting it via https. If I hit the same port on http I’m getting a valid response.
curl: (35) error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
Below are what I have in my vhost configs. Any suggestions? I’m feeling it’s something related to ciphers or protocol. I did create the JKS on my local system which is running a newer version of Oracle java 1.8 than what wowza is running, but I’ve never had problems with a JKS between java versions.
<?xml version="1.0" encoding="UTF-8"?>
<Root version="2">
<VHost>
<Description></Description>
<HostPortList>
<HostPort>
<Name>Default Streaming</Name>
<Type>Streaming</Type>
<ProcessorCount>${com.wowza.wms.TuningAuto}</ProcessorCount>
<IpAddress>1.2.3.4</IpAddress>
<!-- Separate multiple ports with commas -->
<!-- 80: HTTP, RTMPT -->
<!-- 554: RTSP -->
<Port>1935</Port>
<HTTPIdent2Response></HTTPIdent2Response>
<SocketConfiguration>
<ReuseAddress>true</ReuseAddress>
<!-- suggested settings for video on demand applications -->
<ReceiveBufferSize>65000</ReceiveBufferSize>
<ReadBufferSize>65000</ReadBufferSize>
<SendBufferSize>65000</SendBufferSize>
<!-- suggest settings for low latency chat and video recording applications
<ReceiveBufferSize>32000</ReceiveBufferSize>
<ReadBufferSize>32000</ReadBufferSize>
<SendBufferSize>32000</SendBufferSize>
-->
<KeepAlive>true</KeepAlive>
<!-- <TrafficClass>0</TrafficClass> -->
<!-- <OobInline>false</OobInline> -->
<!-- <SoLingerTime>-1</SoLingerTime> -->
<!-- <TcpNoDelay>false</TcpNoDelay> -->
<AcceptorBackLog>100</AcceptorBackLog>
</SocketConfiguration>
<HTTPStreamerAdapterIDs>cupertinostreaming,smoothstreaming,sanjosestreaming,dvrchunkstreaming,mpegdashstreaming</HTTPStreamerAdapterIDs>
<HTTPProviders>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPCrossdomain</BaseClass>
<RequestFilters>*crossdomain.xml</RequestFilters>
<AuthenticationMethod>none</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPClientAccessPolicy</BaseClass>
<RequestFilters>*clientaccesspolicy.xml</RequestFilters>
<AuthenticationMethod>none</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPProviderMediaList</BaseClass>
<RequestFilters>*jwplayer.rss|*jwplayer.smil|*medialist.smil|*manifest-rtmp.f4m</RequestFilters>
<AuthenticationMethod>none</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.timedtext.http.HTTPProviderCaptionFile</BaseClass>
<RequestFilters>*.ttml|*.srt|*.scc|*.vtt</RequestFilters>
<AuthenticationMethod>none</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPServerVersion</BaseClass>
<RequestFilters>*</RequestFilters>
<AuthenticationMethod>none</AuthenticationMethod>
</HTTPProvider>
</HTTPProviders>
</HostPort>
<HostPort>
<Name>Default Admin</Name>
<Type>Admin</Type>
<ProcessorCount>${com.wowza.wms.TuningAuto}</ProcessorCount>
<IpAddress>*</IpAddress>
<Port>8086</Port>
<HTTPIdent2Response></HTTPIdent2Response>
<SocketConfiguration>
<ReuseAddress>true</ReuseAddress>
<ReceiveBufferSize>16000</ReceiveBufferSize>
<ReadBufferSize>16000</ReadBufferSize>
<SendBufferSize>16000</SendBufferSize>
<KeepAlive>true</KeepAlive>
<AcceptorBackLog>100</AcceptorBackLog>
</SocketConfiguration>
<HTTPStreamerAdapterIDs></HTTPStreamerAdapterIDs>
<HTTPProviders>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.streammanager.HTTPStreamManager</BaseClass>
<RequestFilters>streammanager*</RequestFilters>
<AuthenticationMethod>admin-digest</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPServerInfoXML</BaseClass>
<RequestFilters>serverinfo*</RequestFilters>
<AuthenticationMethod>admin-digest</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPConnectionInfo</BaseClass>
<RequestFilters>connectioninfo*</RequestFilters>
<AuthenticationMethod>admin-digest</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPConnectionCountsXML</BaseClass>
<RequestFilters>connectioncounts*</RequestFilters>
<AuthenticationMethod>admin-digest</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.transcoder.httpprovider.HTTPTranscoderThumbnail</BaseClass>
<RequestFilters>transcoderthumbnail*</RequestFilters>
<AuthenticationMethod>admin-digest</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPProviderMediaList</BaseClass>
<RequestFilters>medialist*</RequestFilters>
<AuthenticationMethod>admin-digest</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.livestreamrecord.http.HTTPLiveStreamRecord</BaseClass>
<RequestFilters>livestreamrecord*</RequestFilters>
<AuthenticationMethod>admin-digest</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPServerVersion</BaseClass>
<RequestFilters>*</RequestFilters>
<AuthenticationMethod>none</AuthenticationMethod>
</HTTPProvider>
</HTTPProviders>
</HostPort>
<HostPort>
<Name>HLS</Name>
<Port>443</Port>
<IpAddress>1.2.3.4</IpAddress>
<Type>Streaming</Type>
<ProcessorCount>${com.wowza.wms.TuningAuto}</ProcessorCount>
<HTTPIdent2Response></HTTPIdent2Response>
<SocketConfiguration>
<ReuseAddress>true</ReuseAddress>
<!-- suggested settings for video on demand applications -->
<ReceiveBufferSize>65000</ReceiveBufferSize>
<ReadBufferSize>65000</ReadBufferSize>
<SendBufferSize>65000</SendBufferSize>
<!-- suggest settings for low latency chat and video recording applications
<ReceiveBufferSize>32000</ReceiveBufferSize>
<ReadBufferSize>32000</ReadBufferSize>
<SendBufferSize>32000</SendBufferSize>
-->
<KeepAlive>true</KeepAlive>
<!-- <TrafficClass>0</TrafficClass> -->
<!-- <OobInline>false</OobInline> -->
<!-- <SoLingerTime>-1</SoLingerTime> -->
<!-- <TcpNoDelay>false</TcpNoDelay> -->
<AcceptorBackLog>100</AcceptorBackLog>
</SocketConfiguration>
<HTTPStreamerAdapterIDs>cupertinostreaming,smoothstreaming,sanjosestreaming,dvrchunkstreaming,mpegdashstreaming</HTTPStreamerAdapterIDs>
<HTTPProviders>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPCrossdomain</BaseClass>
<RequestFilters>*crossdomain.xml</RequestFilters>
<AuthenticationMethod>none</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPClientAccessPolicy</BaseClass>
<RequestFilters>*clientaccesspolicy.xml</RequestFilters>
<AuthenticationMethod>none</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPProviderMediaList</BaseClass>
<RequestFilters>*jwplayer.rss|*jwplayer.smil|*medialist.smil|*manifest-rtmp.f4m</RequestFilters>
<AuthenticationMethod>none</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.timedtext.http.HTTPProviderCaptionFile</BaseClass>
<RequestFilters>*.ttml|*.srt|*.scc|*.vtt</RequestFilters>
<AuthenticationMethod>none</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPServerVersion</BaseClass>
<RequestFilters>*</RequestFilters>
<AuthenticationMethod>none</AuthenticationMethod>
</HTTPProvider>
</HTTPProviders>
<SSLConfig>
<KeyStorePath>${com.wowza.wms.context.VHostConfigHome}/conf/wowza.abc.com.jks</KeyStorePath>
<KeyStorePassword>XXXXXXX</KeyStorePassword>
<KeyStoreType>JKS</KeyStoreType>
<SSLProtocol>TLS</SSLProtocol>
<Algorithm>SunX509</Algorithm>
<CipherSuites></CipherSuites>
<Protocols></Protocols>
</SSLConfig>
</HostPort>
</HostPortList>
<HTTPStreamerAdapters>
<HTTPStreamerAdapter>
<ID>smoothstreaming</ID>
<Name>smoothstreaming</Name>
<Properties>
</Properties>
</HTTPStreamerAdapter>
<HTTPStreamerAdapter>
<ID>cupertinostreaming</ID>
<Name>cupertinostreaming</Name>
<Properties>
</Properties>
</HTTPStreamerAdapter>
<HTTPStreamerAdapter>
<ID>sanjosestreaming</ID>
<Name>sanjosestreaming</Name>
<Properties>
</Properties>
</HTTPStreamerAdapter>
<HTTPStreamerAdapter>
<ID>dvrchunkstreaming</ID>
<Name>dvrchunkstreaming</Name>
<Properties>
</Properties>
</HTTPStreamerAdapter>
<HTTPStreamerAdapter>
<ID>mpegdashstreaming</ID>
<Name>mpegdashstreaming</Name>
<Properties>
</Properties>
</HTTPStreamerAdapter>
<HTTPStreamerAdapter>
<ID>tsstreaming</ID>
<Name>tsstreaming</Name>
<Properties>
</Properties>
</HTTPStreamerAdapter>
<HTTPStreamerAdapter>
<ID>webmstreaming</ID>
<Name>webmstreaming</Name>
<Properties>
</Properties>
</HTTPStreamerAdapter>
</HTTPStreamerAdapters>
<!-- When set to zero, thread pool configuration is done in Server.xml -->
<HandlerThreadPool>
<PoolSize>0</PoolSize>
</HandlerThreadPool>
<TransportThreadPool>
<PoolSize>0</PoolSize>
</TransportThreadPool>
<IdleWorkers>
<WorkerCount>${com.wowza.wms.TuningAuto}</WorkerCount>
<CheckFrequency>50</CheckFrequency>
<MinimumWaitTime>5</MinimumWaitTime>
</IdleWorkers>
<NetConnections>
<ProcessorCount>${com.wowza.wms.TuningAuto}</ProcessorCount>
<IdleFrequency>250</IdleFrequency>
<SocketConfiguration>
<ReuseAddress>true</ReuseAddress>
<ReceiveBufferSize>65000</ReceiveBufferSize>
<ReadBufferSize>65000</ReadBufferSize>
<SendBufferSize>65000</SendBufferSize>
<KeepAlive>true</KeepAlive>
<!-- <TrafficClass>0</TrafficClass> -->
<!-- <OobInline>false</OobInline> -->
<!-- <SoLingerTime>-1</SoLingerTime> -->
<!-- <TcpNoDelay>false</TcpNoDelay> -->
<AcceptorBackLog>100</AcceptorBackLog>
</SocketConfiguration>
</NetConnections>
<MediaCasters>
<ProcessorCount>${com.wowza.wms.TuningAuto}</ProcessorCount>
<SocketConfiguration>
<ReuseAddress>true</ReuseAddress>
<ReceiveBufferSize>65000</ReceiveBufferSize>
<ReadBufferSize>65000</ReadBufferSize>
<SendBufferSize>65000</SendBufferSize>
<KeepAlive>true</KeepAlive>
<!-- <TrafficClass>0</TrafficClass> -->
<!-- <OobInline>false</OobInline> -->
<!-- <SoLingerTime>-1</SoLingerTime> -->
<!-- <TcpNoDelay>false</TcpNoDelay> -->
<ConnectionTimeout>10000</ConnectionTimeout>
</SocketConfiguration>
</MediaCasters>
<LiveStreamTranscoders>
<MaximumConcurrentTranscodes>0</MaximumConcurrentTranscodes>
</LiveStreamTranscoders>
<HTTPTunnel>
<KeepAliveTimeout>2000</KeepAliveTimeout>
</HTTPTunnel>
<Client>
<ClientTimeout>90000</ClientTimeout>
<IdleFrequency>250</IdleFrequency>
</Client>
<!-- RTP/Authentication/Methods defined in Authentication.xml. Default setup includes; none, basic, digest -->
<RTP>
<IdleFrequency>75</IdleFrequency>
<DatagramConfiguration>
<Incoming>
<ReuseAddress>true</ReuseAddress>
<ReceiveBufferSize>2048000</ReceiveBufferSize>
<SendBufferSize>65000</SendBufferSize>
<!-- <MulticastBindToAddress>true</MulticastBindToAddress> -->
<!-- <MulticastInterfaceAddress>192.168.1.22</MulticastInterfaceAddress> -->
<!-- <TrafficClass>0</TrafficClass> -->
<MulticastTimeout>50</MulticastTimeout>
<DatagramMaximumPacketSize>4096</DatagramMaximumPacketSize>
</Incoming>
<Outgoing>
<ReuseAddress>true</ReuseAddress>
<ReceiveBufferSize>65000</ReceiveBufferSize>
<SendBufferSize>256000</SendBufferSize>
<!-- <MulticastBindToAddress>true</MulticastBindToAddress> -->
<!-- <MulticastInterfaceAddress>192.168.1.22</MulticastInterfaceAddress> -->
<!-- <TrafficClass>0</TrafficClass> -->
<MulticastTimeout>50</MulticastTimeout>
<DatagramMaximumPacketSize>4096</DatagramMaximumPacketSize>
</Outgoing>
</DatagramConfiguration>
<UnicastIncoming>
<ProcessorCount>${com.wowza.wms.TuningAuto}</ProcessorCount>
</UnicastIncoming>
<UnicastOutgoing>
<ProcessorCount>${com.wowza.wms.TuningAuto}</ProcessorCount>
</UnicastOutgoing>
<MulticastIncoming>
<ProcessorCount>${com.wowza.wms.TuningAuto}</ProcessorCount>
</MulticastIncoming>
<MulticastOutgoing>
<ProcessorCount>${com.wowza.wms.TuningAuto}</ProcessorCount>
</MulticastOutgoing>
</RTP>
<Application>
<ApplicationTimeout>60000</ApplicationTimeout>
<PingTimeout>12000</PingTimeout>
<UnidentifiedSessionTimeout>30000</UnidentifiedSessionTimeout>
<ValidationFrequency>20000</ValidationFrequency>
<MaximumPendingWriteBytes>0</MaximumPendingWriteBytes>
<MaximumSetBufferTime>60000</MaximumSetBufferTime>
</Application>
<StartStartupStreams>true</StartStartupStreams>
<Manager>
<TestPlayer>
<IpAddress>${com.wowza.wms.HostPort.IpAddress}</IpAddress>
<Port>${com.wowza.wms.HostPort.FirstStreamingPort}</Port>
<SSLEnable>${com.wowza.wms.HostPort.SSLEnable}</SSLEnable>
</TestPlayer>
<!-- Properties defined are used by the Manager -->
<Properties>
</Properties>
</Manager>
<!-- Properties defined here will be added to the IVHost.getProperties() collection -->
<Properties>
</Properties>
</VHost>
</Root>