Please find attached the  red5-core.xml as requested


On Sat, Jul 25, 2020 at 7:58 PM Alvaro <zurca...@gmail.com> wrote:

> Thank you, it is got it.
>
> Now i have ssl working, but if i made the last step:
>
> ==========
> sudo nano /opt/red54010/conf/red5-core.xml
>
> goto RTMPS
>
> remove the Comment  from <bean> to </bean>
>
> <bean id="rtmpsTransport"
> class="org.red5.server.net.rtmp.RTMPMinaTransport" init-method="start"
> destroy-method="stop">
>
>         <property name="ioHandler" ref="rtmpsMinaIoHandler" />
>         <property name="addresses">
>             <list>
>                  <value>${rtmps.host}:${rtmps.port}</value>
>             </list>
>         </property>
>         <property name="ioThreads" value="${rtmp.io_threads}" />
>         <property name="tcpNoDelay" value="${rtmp.tcp_nodelay}" />
>     </bean>
> =======
>
> ...then after can't restart or start OM.
> Would be possible to have your file:
>
> red5-core.xml
>
> ... please...
>
>
> .................
>
>
>
>
>
> El sáb, 25-07-2020 a las 19:10 +0530, Ajay Simha escribió:
>
> Hi,
> Please find attached as required jee-container.xml
>
> regards
>
> On Sat, Jul 25, 2020 at 6:36 PM Alvaro <zurca...@gmail.com> wrote:
>
> ...Sorry Ajay, could you please send me your file:
>
> jee-container.xml
>
> ...'cause i don't get put it right.
>
> Thank you
>
>
> .........
>
>
> El sáb, 25-07-2020 a las 13:48 +0530, Ajay Simha escribió:
>
> Hi Mr. Alvaro,
>
> Sending you the text file with steps which we had followed, most of the
> steps are included in OM documentation already, only the generation of
> self signed certificates are extra steps which are added
>
> regards
> Ajay
>
>
> On Sat, Jul 25, 2020 at 12:09 PM Alvaro <zurca...@gmail.com> wrote:
>
> Hello Ajay,
>
> Could you please write the steps you has followed to get it?
>
> Thank you
>
>
> ..............................
>
>
>
> El sáb, 25-07-2020 a las 00:53 +0530, Ajay Simha escribió:
>
> Mr.Solodovni
>
> Thanks for the Input, we started from scratch and were able to get 4.0.10
> on ssl
>
> Regards
>
>
> On Thu, Jul 23, 2020 at 9:25 PM Maxim Solodovnik <solomax...@gmail.com>
> wrote:
>
> I would recommend to search the archives (for ex. here
> https://openmeetings.markmail.org/)
> The topic was discussed multiple times
>
> obviously some certificates are missing in the chain
> Most probably SSL debug can help (search ML archives for the exact options)
>
> On Tue, 21 Jul 2020 at 23:37, Ajay Simha <ajaysi...@gmail.com> wrote:
>
> we have modified the setup as per the document suggested, for HTTPS
>
> while modifying,  we got an error " *Illegal option: -keystorepass* "
> while running the below command
> keytool -import -alias root -keystore /opt/red5/conf/keystore.jks
> -keystorepass changeit -trustcacerts -file ca.crt
> We changed the command from *keystorepass* to *storepass*, it got
> executed (as shown below).
>
> keytool -import -alias root -keystore /opt/red5/conf/keystore.jks
> -storepass changeit -trustcacerts -file ca.crt
>
> Now when we try to access the application using https://localhost:5443,
> application is not accessible, *page can't be displayed* error in show on
> the browser.
>
> we have made sure the web-server is running by executing sudo
> /etc/init.d/red5-ubdeb2 start
>
> Your help is much appreciated in this.
>
> Ajay
>
>
>
> --
> Best regards,
> Maxim
>
>
>
>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"; 
    xmlns:lang="http://www.springframework.org/schema/lang"; 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd";>
    
    <!-- DO NOT FORMAT THIS FILE IN ECLIPSE -->
    
    <bean id="customEditorConfigurer" class="org.springframework.beans.factory.config.CustomEditorConfigurer">
        <property name="customEditors">
            <map>
                <entry key="java.net.SocketAddress" value="org.apache.mina.integration.beans.InetSocketAddressEditor" />
            </map>
        </property>
    </bean>
    
    <bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location" value="classpath:/red5.properties" />
    </bean>
    
    <!-- RTMP -->
    <bean id="rtmpScheduler" class="org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler">
        <property name="poolSize" value="${rtmp.scheduler.pool_size}" />
        <property name="daemon" value="true" />
        <property name="waitForTasksToCompleteOnShutdown" value="true" />
        <property name="threadNamePrefix" value="RTMPConnectionScheduler-" />
    </bean>
    
<!--
    <bean id="messageExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
        <property name="corePoolSize" value="${rtmp.executor.core_pool_size}" />
        <property name="maxPoolSize" value="${rtmp.executor.max_pool_size}" />
        <property name="queueCapacity" value="${rtmp.executor.queue_capacity}" />
        <property name="daemon" value="false" />
        <property name="waitForTasksToCompleteOnShutdown" value="true" />
        <property name="threadNamePrefix" value="RTMPConnectionExecutor-" />
    </bean>
    
    <bean id="deadlockGuardScheduler" class="org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler">
        <property name="poolSize" value="${rtmp.deadlockguard.sheduler.pool_size}" />
        <property name="daemon" value="false" />
        <property name="waitForTasksToCompleteOnShutdown" value="true" />
        <property name="threadNamePrefix" value="DeadlockGuardScheduler-" />
    </bean>
-->

    <!-- RTMP connection manager -->
    <bean id="rtmpConnManager" class="org.red5.server.net.rtmp.RTMPConnManager" />

    <!-- RTMP Decoding -->
    <!-- Use injection to set the max packet size -->
    <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
        <property name="staticMethod">
            <value>org.red5.server.net.rtmp.codec.RTMPProtocolDecoder.setMaxPacketSize</value>
        </property>
        <property name="arguments" value="${rtmp.max_packet_size}"/>
    </bean>

    <!-- RTMP Handler -->
    <bean id="rtmpHandler" class="org.red5.server.net.rtmp.RTMPHandler">
        <property name="server" ref="red5.server" />
        <property name="statusObjectService" ref="statusObjectService" />
        <!-- Enable this to allow unvalidated connections -->
        <property name="unvalidatedConnectionAllowed" value="true" />
    </bean>
    
    <!-- RTMP Mina IO Handler -->
    <bean id="rtmpMinaIoHandler" class="org.red5.server.net.rtmp.RTMPMinaIoHandler">
        <property name="handler" ref="rtmpHandler" />
    </bean>
    
    <!-- RTMP Mina Transport -->
    <bean id="rtmpTransport" class="org.red5.server.net.rtmp.RTMPMinaTransport" init-method="start" destroy-method="stop">
        <property name="ioHandler" ref="rtmpMinaIoHandler" />
        <property name="addresses">
            <list>
                <value>${rtmp.host}:${rtmp.port}</value>
                <!-- You can now add additional ports and ip addresses
                <value>${rtmp.host}:1936</value>
                 -->
            </list>
        </property>
        <property name="ioThreads" value="${rtmp.io_threads}" />
        <property name="sendBufferSize" value="${rtmp.send_buffer_size}" />
        <property name="receiveBufferSize" value="${rtmp.receive_buffer_size}" />
        <property name="trafficClass" value="${rtmp.traffic_class}" />
        <property name="backlog" value="${rtmp.backlog}" />
        <property name="tcpNoDelay" value="${rtmp.tcp_nodelay}" />
        <property name="keepAlive" value="${rtmp.tcp_keepalive}" />
        <property name="thoughputCalcInterval" value="${rtmp.thoughput_calc_interval}" />
        <property name="enableDefaultAcceptor" value="${rtmp.default_acceptor}" />
        <!-- Pool settings are used when the default acceptor is disabled -->
        <property name="initialPoolSize" value="${rtmp.initial_pool_size}" />
        <property name="maxPoolSize" value="${rtmp.max_pool_size}" />
        <property name="maxProcessorPoolSize" value="${rtmp.max_processor_pool_size}" />
        <property name="executorKeepAliveTime" value="${rtmp.executor_keepalive_time}" />
        <!-- This is the interval at which the sessions are polled for stats. If mina monitoring is not enabled, polling will not occur. -->
        <property name="minaPollInterval" value="${jmx.mina.poll.interval}" />
        <property name="enableMinaMonitor" value="${jmx.mina.monitor.enable}" />
        <property name="enableMinaLogFilter" value="${mina.logfilter.enable}" />
    </bean>
    
    <!-- RTMP Mina Connection -->
    <bean id="rtmpMinaConnection" scope="prototype" class="org.red5.server.net.rtmp.RTMPMinaConnection">
        <!-- Executor for scheduled tasks -->
        <property name="scheduler" ref="rtmpScheduler" />
<!-- 
        <property name="executor" ref="messageExecutor" />
        <property name="deadlockGuardScheduler" ref="deadlockGuardScheduler" />
-->
        <!-- Ping clients every X ms. Set to 0 to disable ghost detection code. -->
        <property name="pingInterval" value="${rtmp.ping_interval}" />
        <!-- Disconnect client after X ms of not responding. -->
        <property name="maxInactivity" value="${rtmp.max_inactivity}" />
        <!-- Max. time in milliseconds to wait for a valid handshake. -->
        <property name="maxHandshakeTimeout" value="${rtmp.max_handshake_time}" />
        <!-- Default server bandwidth per connection -->
        <property name="defaultServerBandwidth" value="${rtmp.default_server_bandwidth}" />
        <!-- Default client bandwidth per connection -->
        <property name="defaultClientBandwidth" value="${rtmp.default_client_bandwidth}" />
        <!-- Client bandwidth limit type: 0 = hard, 1 = soft, 2 = dynamic -->
        <property name="limitType" value="${rtmp.client_bandwidth_limit_type}" />
        <!-- Bandwidth detection. If "false" the server will NOT initiate a check -->
        <property name="bandwidthDetection" value="${rtmp.bandwidth_detection}" />
        <!-- Maximum time allowed for a single RTMP packet to be processed -->
        <property name="maxHandlingTimeout" value="${rtmp.max_handling_time}" />
        <!-- Specify the size of queue that will trigger audio packet dropping, disabled if it's 0 -->
        <property name="executorQueueSizeToDropAudioPackets" value="${rtmp.executor.queue_size_to_drop_audio_packets}" />
        <!-- Concurrent collection tweaks -->
        <property name="channelsInitalCapacity" value="${rtmp.channel.initial.capacity}" />
        <property name="channelsConcurrencyLevel" value="${rtmp.channel.concurrency.level}" />
        <property name="streamsInitalCapacity" value="${rtmp.stream.initial.capacity}" />
        <property name="streamsConcurrencyLevel" value="${rtmp.stream.concurrency.level}" />
        <property name="pendingCallsInitalCapacity" value="${rtmp.pending.calls.initial.capacity}" />
        <property name="pendingCallsConcurrencyLevel" value="${rtmp.pending.calls.concurrency.level}" />
        <property name="reservedStreamsInitalCapacity" value="${rtmp.reserved.streams.initial.capacity}" />
        <property name="reservedStreamsConcurrencyLevel" value="${rtmp.reserved.streams.concurrency.level}" />
    </bean>
    
    <!-- RTMPT -->
    <!-- RTMPT Handler -->
    <bean id="rtmptHandler" class="org.red5.server.net.rtmpt.RTMPTHandler" autowire="byType">
        <property name="codecFactory" ref="rtmptCodecFactory" />
    </bean>
    
    <!-- Use injection to store RTMPT handler in servlet -->
    <bean id="rtmptServlet" class="org.red5.server.net.rtmpt.RTMPTServlet">
        <property name="manager" ref="rtmpConnManager" />
        <property name="handler" ref="rtmptHandler" />
        <!-- Increasing this value results in better stream performance, but also increases the latency -->
        <property name="targetResponseSize" value="${rtmpt.target_reponse_size}" />
        <!-- Response for /fcs/ident2 requests -->
        <!--
        <property name="ident2" value="127.0.0.1" />
        -->
    </bean>
    
    <!-- RTMPT Connection -->
    <bean id="rtmptConnection" scope="prototype" class="org.red5.server.net.rtmpt.RTMPTConnection">
        <!-- Executor for scheduled tasks -->
        <property name="scheduler" ref="rtmpScheduler" />
<!--
        <property name="executor" ref="messageExecutor" />
        <property name="deadlockGuardScheduler" ref="deadlockGuardScheduler" />
-->
        <!-- Ping clients every X ms. Set to 0 to disable ghost detection code. -->
        <property name="pingInterval" value="${rtmpt.ping_interval}" />
        <!-- Disconnect client after X ms of not responding. -->
        <property name="maxInactivity" value="${rtmpt.max_inactivity}" />
        <!-- Max. time in milliseconds to wait for a valid handshake. -->
        <property name="maxHandshakeTimeout" value="${rtmpt.max_handshake_time}" />
        <!-- Maximum incoming messages to process at a time per client -->
        <property name="maxInMessagesPerProcess" value="${rtmpt.max_in_msg_process}" />
        <!-- Maximum amount of time in milliseconds to wait before allowing an offer to fail on incoming or outgoing queues -->
        <property name="maxQueueOfferTime" value="${rtmpt.max_queue_offer_time}" />
        <!-- Maximum offer attempts before failing on incoming or outgoing queues -->
        <property name="maxQueueOfferAttempts" value="${rtmpt.max_queue_offer_attempts}" />
        <!-- Maximum time allowed for a single RTMP packet to be processed -->
        <property name="maxHandlingTimeout" value="${rtmp.max_handling_time}" />
        <!-- Specify the size of queue that will trigger audio packet dropping, disabled if it's 0 -->
        <property name="executorQueueSizeToDropAudioPackets" value="${rtmp.executor.queue_size_to_drop_audio_packets}" />
        <!-- Concurrent collection tweaks -->
        <property name="channelsInitalCapacity" value="${rtmp.channel.initial.capacity}" />
        <property name="channelsConcurrencyLevel" value="${rtmp.channel.concurrency.level}" />
        <property name="streamsInitalCapacity" value="${rtmp.stream.initial.capacity}" />
        <property name="streamsConcurrencyLevel" value="${rtmp.stream.concurrency.level}" />
        <property name="pendingCallsInitalCapacity" value="${rtmp.pending.calls.initial.capacity}" />
        <property name="pendingCallsConcurrencyLevel" value="${rtmp.pending.calls.concurrency.level}" />
        <property name="reservedStreamsInitalCapacity" value="${rtmp.reserved.streams.initial.capacity}" />
        <property name="reservedStreamsConcurrencyLevel" value="${rtmp.reserved.streams.concurrency.level}" />
    </bean>
    
    <!-- RTMPS -->
    <!-- Notes to self: 
         https://www.openssl.org/docs/apps/ciphers.html#TLS-v1.2-cipher-suites 
         https://www.sslshopper.com/article-how-to-disable-weak-ciphers-and-ssl-2-in-tomcat.html -->

    <bean id="rtmpsMinaIoHandler" class="org.red5.server.net.rtmps.RTMPSMinaIoHandler">
        <property name="handler" ref="rtmpHandler" />
        <property name="keystorePassword" value="${rtmps.keystorepass}" />
        <property name="keystoreFile" value="${rtmps.keystorefile}" />
        <property name="truststorePassword" value="${rtmps.truststorepass}" />
        <property name="truststoreFile" value="${rtmps.truststorefile}" />
        <property name="cipherSuites">
            <array>
                <value>TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256</value>
                <value>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</value>
                <value>TLS_ECDHE_RSA_WITH_RC4_128_SHA</value>
                <value>TLS_RSA_WITH_AES_128_CBC_SHA256</value>
                <value>TLS_RSA_WITH_AES_128_CBC_SHA</value>
                <value>SSL_RSA_WITH_RC4_128_SHA</value>
            </array>
        </property>
        <property name="protocols">
            <array>
                <value>TLSv1</value>
                <value>TLSv1.1</value>
                <value>TLSv1.2</value>
            </array>
        </property>
    </bean>
    
    <bean id="rtmpsTransport" class="org.red5.server.net.rtmp.RTMPMinaTransport" init-method="start" destroy-method="stop">
        <property name="ioHandler" ref="rtmpsMinaIoHandler" />
        <property name="addresses">
            <list>
                 <value>${rtmps.host}:${rtmps.port}</value>
            </list>
        </property>
        <property name="ioThreads" value="${rtmp.io_threads}" />
        <property name="tcpNoDelay" value="${rtmp.tcp_nodelay}" />
    </bean>

    <!-- Enable when you need it. - - >
    <bean id="rtmpProxyTransport" class="org.red5.server.net.rtmp.RTMPMinaTransport" init-method="start" destroy-method="stop">
        <property name="ioHandler" ref="debugProxyIoHandler" />
        <property name="address" value="${proxy.source_host}" />
        <property name="port" value="${proxy.source_port}" />
        <property name="ioThreads" value="${rtmp.io_threads}" />
        <property name="tcpNoDelay" value="${rtmp.tcp_nodelay}" />
    </bean>
    
    <bean id="debugProxyIoHandler" class="org.red5.server.net.proxy.DebugProxyHandler">
        <property name="codecFactory" ref="rtmpCodecFactory" />
        <property name="forward" value="${proxy.destination_host}:${proxy.destination_port}" />
        <property name="dumpTo" value="./webapps/dump/" />
    </bean>
-->
</beans>

Reply via email to