Results 1 to 5 of 5

Thread: Wowza tying up all server IP Addresses

  1. #1
    Join Date
    May 2010
    Posts
    7

    Default Wowza tying up all server IP Addresses

    I have two Wowza servers both running on Server 2008 R2. Both have dual Public IP addresses (x.x.x.140 & x.x.x.142 on the example server) as well as a private IP address (10.0.100.1 on the example server). One of the machines is also setup to be a web server with IIS 7. In the vhost.xml config, we have the IP address set for the first public IP and ports 80,554, and 1935. However, when Wowza is running, it takes over those same ports on the second public IP address as well as the internal address. If I add another bogus IP address, it takes that one over too. The only IP address listed is the first public IP address. Where else would it be pulling this IP? IIS is set to only use port 80 & 443 on the other second public IP that shouldn't be served by Wowza.

    When Wowza is stopped, IIS serves on port 80 just fine.

    Here's the code from vhost.xml
    <Root>
    	<VHost>
    		<HostPortList>
    			<HostPort>
    				<ProcessorCount>24</ProcessorCount>
    				<IpAddress>x.x.x.140</IpAddress>
    				<!-- Separate multiple ports with commas -->
    				<!-- 80: HTTP, RTMPT -->
    				<!-- 554: RTSP -->
    				<Port>80,554,1935</Port>
    				<SocketConfiguration>
    					<ReuseAddress>true</ReuseAddress>
    					<!-- suggested settings for video on demand applications -->
    					<ReceiveBufferSize>24000</ReceiveBufferSize>
    					<SendBufferSize>65000</SendBufferSize>
    					<!-- suggest settings for low latency chat and video recording applications
    					<ReceiveBufferSize>16000</ReceiveBufferSize>
    					<SendBufferSize>16000</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</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|*medialist.smil|*manifest-rtmp.f4m</RequestFilters>
    						<AuthenticationMethod>none</AuthenticationMethod>
    					</HTTPProvider>
    					<HTTPProvider>
    						<BaseClass>com.wowza.wms.http.HTTPServerVersion</BaseClass>
    						<RequestFilters>*</RequestFilters>
    						<AuthenticationMethod>none</AuthenticationMethod>
    					</HTTPProvider>
    				</HTTPProviders>
    			</HostPort>
    			
    			<!-- 443 with SSL -->
    			<!--
    			<HostPort>
    				<ProcessorCount>4</ProcessorCount>
    				<IpAddress>x.x.x.140</IpAddress>
    				<Port>443</Port>
    				<SSLConfig>
    					<KeyStorePath>${com.wowza.wms.context.VHostConfigHome}/conf/keystore.cert</KeyStorePath>
    					<KeyStorePassword>[password]</KeyStorePassword>
    					<KeyStoreType>JKS</KeyStoreType>
    					<SSLProtocol>TLS</SSLProtocol>
    					<Algorithm>SunX509</Algorithm>
    					<CipherSuites></CipherSuites>
    					<Protocols></Protocols>
    				</SSLConfig>
    				<SocketConfiguration>
    					<ReuseAddress>true</ReuseAddress>
    					<ReceiveBufferSize>24000</ReceiveBufferSize>
    					<SendBufferSize>65000</SendBufferSize>
    					<KeepAlive>true</KeepAlive>
    					<AcceptorBackLog>100</AcceptorBackLog>
    				</SocketConfiguration>
    				<HTTPStreamerAdapterIDs>cupertinostreaming,smoothstreaming,sanjosestreaming,dvrchunkstreaming</HTTPStreamerAdapterIDs>
    				<HTTPProviders>
    					<HTTPProvider>
    						<BaseClass>com.wowza.wms.http.HTTPClientAccessPolicy</BaseClass>
    						<RequestFilters>*clientaccesspolicy.xml</RequestFilters>
    						<AuthenticationMethod>none</AuthenticationMethod>
    					</HTTPProvider>
    					<HTTPProvider>
    						<BaseClass>com.wowza.wms.http.HTTPCrossdomain</BaseClass>
    						<RequestFilters>*crossdomain.xml</RequestFilters>
    						<AuthenticationMethod>none</AuthenticationMethod>
    					</HTTPProvider>
    					<HTTPProvider>
    						<BaseClass>com.wowza.wms.http.HTTPServerVersion</BaseClass>
    						<RequestFilters>*</RequestFilters>
    						<AuthenticationMethod>none</AuthenticationMethod>
    					</HTTPProvider>
    				</HTTPProviders>
    			</HostPort>
    			-->
    			
    			<!-- Admin HostPort -->
    			<HostPort>
    				<ProcessorCount>1</ProcessorCount>
    				<IpAddress>x.x.x.140</IpAddress>
    				<Port>8086</Port>
    				<SocketConfiguration>
    					<ReuseAddress>true</ReuseAddress>
    					<ReceiveBufferSize>16000</ReceiveBufferSize>
    					<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.http.HTTPServerVersion</BaseClass>
    						<RequestFilters>*</RequestFilters>
    						<AuthenticationMethod>none</AuthenticationMethod>
    					</HTTPProvider>
    				</HTTPProviders>
    			</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>
    		</HTTPStreamerAdapters>
    
    		<HandlerThreadPool>
    			<PoolSize>480</PoolSize>
    		</HandlerThreadPool>
    		<TransportThreadPool>
    			<PoolSize>320</PoolSize>
    		</TransportThreadPool>
    		<IdleWorkers>
    			<WorkerCount>24</WorkerCount>
    			<CheckFrequency>100</CheckFrequency>
    			<MinimumWaitTime>5</MinimumWaitTime>
    		</IdleWorkers>
    		<NetConnections>
    			<ProcessorCount>4</ProcessorCount>
    			<IdleFrequency>250</IdleFrequency>
    			<SocketConfiguration>
    				<ReuseAddress>true</ReuseAddress>
    				<ReceiveBufferSize>65000</ReceiveBufferSize>
    				<SendBufferSize>24000</SendBufferSize>
    				<KeepAlive>true</KeepAlive>
    				<!-- <TrafficClass>0</TrafficClass> -->
    				<!-- <OobInline>false</OobInline> -->
    				<!-- <SoLingerTime>-1</SoLingerTime> -->
    				<!-- <TcpNoDelay>false</TcpNoDelay> -->
    				<AcceptorBackLog>100</AcceptorBackLog>
    			</SocketConfiguration>
    		</NetConnections>
    		<HTTPTunnel>
    			<KeepAliveTimeout>2000</KeepAliveTimeout>
    		</HTTPTunnel>
    		<Client>
    			<ClientTimeout>90000</ClientTimeout>
    			<IdleFrequency>500</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>1024000</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>65000</SendBufferSize>
    					<!-- <MulticastBindToAddress>true</MulticastBindToAddress> -->
    					<!-- <MulticastInterfaceAddress>192.168.1.22</MulticastInterfaceAddress> -->
    					<!-- <TrafficClass>0</TrafficClass> -->
    					<MulticastTimeout>50</MulticastTimeout>
    					<DatagramMaximumPacketSize>4096</DatagramMaximumPacketSize>
    				</Outgoing>
    			</DatagramConfiguration>
    			<UnicastIncoming>
    				<ProcessorCount>12</ProcessorCount>
    			</UnicastIncoming>
    			<UnicastOutgoing>
    				<ProcessorCount>24</ProcessorCount>
    			</UnicastOutgoing>
    			<MulticastIncoming>
    				<ProcessorCount>12</ProcessorCount>
    			</MulticastIncoming>
    			<MulticastOutgoing>
    				<ProcessorCount>12</ProcessorCount>
    			</MulticastOutgoing>
    		</RTP>
    		<Application>
    			<ApplicationTimeout>10000</ApplicationTimeout>
    			<PingTimeout>12000</PingTimeout>
    			<ValidationFrequency>20000</ValidationFrequency>
    			<MaximumPendingWriteBytes>0</MaximumPendingWriteBytes>
    			<MaximumSetBufferTime>60000</MaximumSetBufferTime>
    		</Application>
    		<StartStartupStreams>true</StartStartupStreams>
    		<!-- Properties defined here will be added to the IVHost.getProperties() collection -->
    		<Properties>
    		</Properties>
    	</VHost>
    </Root>

  2. #2
    Join Date
    Dec 2007
    Posts
    21,962

    Default

    I see you have a specific IP address in each /HostPort /IpAddress. That is what you need to do on the Wowza side.

    I think actually it is IIS that binds to all IP addresses. There is a utility named HttpCfg.exe that is used to select which IP addresses not to bind to. Search for "IIS binds to all IP addresses HttpCfg.exe"

    Richard

  3. #3
    Join Date
    May 2010
    Posts
    7

    Default

    Thanks Richard! This did the trick. Even though the bindings only showed the specific IP addresses within IIS, it was still trying to pull all IP addresses. By running httpcfg.exe set iplisten -i ###.###.###.### where ###.###.###.### is ip address you want for IIS, it worked perfectly!

    A quick note, I am running Server 2008 R2. I had to download the support tools for Server 2003 to get httpcfg.exe. It ran fine on Server 2008 R2

  4. #4
    Join Date
    Dec 2007
    Posts
    21,962

    Default

    Cool! Thanks for the update and added info.

    Richard

  5. Default

    Incidentally, you can use netsh on windows 2008 instead of httpcfg.exe (it accomplishes the same without installing Server 2003 support tools)

Similar Threads

  1. Allow only 3 ip addresses
    By pezehk in forum General Forum
    Replies: 2
    Last Post: 11-04-2013, 05:56 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •