SSL client issue

Hi guys.

We have a server with Wowza 4.7.7 and we try to do it with ssl.

The certificate is ok,

and the load balancing works fine. But when I add the https settings to the config - client can’t connect(

we want use 9090 port for https (vhost is also changed from 443 to 9090, keystore with certificate added). Any idea?

<?xml version="1.0" encoding="UTF-8"?>
<Root version="2">
	<Server>
		<Name>Wowza Streaming Engine</Name>
		<Description>Wowza Streaming Engine is robust, customizable, and scalable server software that powers reliable streaming of high-quality video and audio to any device, anywhere.</Description>
		<RESTInterface>
			<Enable>true</Enable>
			<IPAddress>*</IPAddress>
			<Port>8087</Port>
			<!-- none, basic, digest, remotehttp, digestfile -->
			<AuthenticationMethod>digest</AuthenticationMethod>
			<DiagnosticURLEnable>true</DiagnosticURLEnable>
			<SSLConfig>
				<Enable>false</Enable>
				<KeyStorePath></KeyStorePath>
				<KeyStorePassword></KeyStorePassword>
				<KeyStoreType>JKS</KeyStoreType>
				<SSLProtocol>TLS</SSLProtocol>
				<Algorithm>SunX509</Algorithm>
				<CipherSuites></CipherSuites>
				<Protocols></Protocols>
			</SSLConfig>
			<IPWhiteList>127.0.0.1</IPWhiteList>
			<IPBlackList></IPBlackList>
			<EnableXMLFile>false</EnableXMLFile>
			<DocumentationServerEnable>false</DocumentationServerEnable>
			<DocumentationServerPort>8089</DocumentationServerPort>
			<!-- none, basic, digest, remotehttp, digestfile -->
			<DocumentationServerAuthenticationMethod>digest</DocumentationServerAuthenticationMethod>
			<Properties>
			</Properties>
		</RESTInterface>
		<CommandInterface>
			<HostPort>
				<ProcessorCount>${com.wowza.wms.TuningAuto}</ProcessorCount>
				<IpAddress>*</IpAddress>
				<Port>8083</Port>
			</HostPort>
		</CommandInterface>
		<AdminInterface>
			<!-- Objects exposed through JMX interface: Server, VHost, VHostItem, Application, ApplicationInstance, MediaCaster, Module, Client, MediaStream, SharedObject, Acceptor, IdleWorker -->
			<ObjectList>Server,VHost,VHostItem,Application,ApplicationInstance,MediaCaster,Module,IdleWorker</ObjectList>
		</AdminInterface>
		<Stats>
			<Enable>true</Enable>
		</Stats>
		<!-- JMXUrl: service:jmx:rmi://localhost:8084/jndi/rmi://localhost:8085/jmxrmi -->
		<JMXRemoteConfiguration>
			<Enable>false</Enable>
			<IpAddress>server1</IpAddress> <!-- set to localhost or internal ip address if behind NAT -->
			<RMIServerHostName>server1</RMIServerHostName> <!-- set to external ip address or domain name if behind NAT -->
			<RMIConnectionPort>8084</RMIConnectionPort>
			<RMIRegistryPort>8085</RMIRegistryPort>
			<Authenticate>true</Authenticate>
			<PasswordFile>${com.wowza.wms.ConfigHome}/conf/jmxremote.password</PasswordFile>
			<AccessFile>${com.wowza.wms.ConfigHome}/conf/jmxremote.access</AccessFile>
			<SSLSecure>false</SSLSecure>
		</JMXRemoteConfiguration>
		<UserAgents>Shockwave Flash|CFNetwork|MacNetwork/1.0 (Macintosh)</UserAgents>
		<Streams>
			<DefaultStreamPrefix>mp4</DefaultStreamPrefix>
		</Streams>
		<ServerListeners>
		
		
			<ServerListener> 
				<BaseClass>com.wowza.wms.plugin.loadbalancer.listeners.ServerListener</BaseClass> 
			</ServerListener>
		
			<ServerListener>
				<BaseClass>com.wowza.wms.mediacache.impl.MediaCacheServerListener</BaseClass>
			</ServerListener>
			<!--
			<ServerListener>
				<BaseClass>com.wowza.wms.plugin.loadbalancer.ServerListenerLoadBalancerListener</BaseClass>
			</ServerListener>
			-->
			<!--
			<ServerListener>
				<BaseClass>com.wowza.wms.plugin.loadbalancer.ServerListenerLoadBalancerSender</BaseClass>
			</ServerListener>
			-->
		</ServerListeners>
		<VHostListeners>
			
			<VHostListener>
				<BaseClass>com.wowza.wms.plugin.loadbalancer.listeners.VHostListener</BaseClass>
			</VHostListener>
			
		</VHostListeners>
		<HandlerThreadPool>
			<PoolSize>${com.wowza.wms.TuningAuto}</PoolSize>
		</HandlerThreadPool>
		<TransportThreadPool>
			<PoolSize>${com.wowza.wms.TuningAuto}</PoolSize>
		</TransportThreadPool>
		<RTP>
			<DatagramStartingPort>6970</DatagramStartingPort>
			<DatagramPortSharing>false</DatagramPortSharing>
		</RTP>
		<Manager>
			<!-- Properties defined are used by the Manager -->
			<Properties>
			</Properties>
		</Manager>
		<Transcoder>
			<PluginPaths>
				<QuickSync></QuickSync>
			</PluginPaths>
		</Transcoder>
		<!-- Properties defined here will be added to the IServer.getProperties() collection -->
<Properties>
			<Property>
				<Name>loadbalanceType</Name>
				<Value>Server,Client</Value>
				<Type>String</Type>
			</Property>
			<Property>
				<Name>loadbalanceKey</Name>
				<Value>1234567890123456</Value>
				<Type>String</Type>
			</Property>
			<Property>
				<Name>loadbalanceServerDecisionOrder</Name>
				<Value>Connection</Value>
				<Type>String</Type>
			</Property>
			<Property>
				<Name>loadbalanceServerIP</Name>
				<Value>server1</Value>
				<Type>String</Type>
			</Property>
			<Property>
				<Name>loadbalanceServerListenPort</Name>
				<Value>9090</Value>
				<Type>String</Type>
			</Property>
			<Property>
                <Name>loadbalanceServerPort</Name>
				<Value>9090</Value>
				<Type>String</Type>
			</Property>
			<Property>
				<Name>loadbalanceClientCommunicationScheme</Name>
				<Value>https</Value>
				<Type>String</Type>
			</Property>
			<Property>
				<Name>loadbalanceClientForceScheme</Name>
				<Value>https</Value>
				<Type>String</Type>
			</Property>
			<Property>
				<Name>loadbalanceClientForceIP</Name>
				<Value>server1.server.com</Value>
				<Type>String</Type>
			</Property>
			<Property>
				<Name>loadbalanceClientForcePort</Name>
				<Value>9090</Value>
				<Type>String</Type>
			</Property>			
			
			<Property>
				<Name>loadbalanceClientName</Name>
				<Value>Client1</Value>
				<Type>String</Type>
			</Property>
			<Property>
				<Name>loadbalanceClientConnectionEnable</Name>
				<Value>On</Value>
				<Type>String</Type>
			</Property>
			<Property>
				<Name>loadbalanceClientConnectionLimit</Name>
				<Value>10</Value>
				<Type>String</Type>
			</Property>
		</Properties>	
	</Server>
</Root>

Hi,

Are you using a self signed certificate or a certificate that doesn’t have trusted chain attached? If so then you will need to add your certificate to the root key store for your java installation. You can do this using Keystore Explorer. Alternatively, if you use a valid certificate from a trusted 3rd party provider, then it should just work.

If you are still having issues, please open a support ticket and one of our support team will be able to assist.

Regards,

Roger.