《Red5 用户参考手册》之十四:Red5 核心技术第七章 管理

官方最新《Red5 用户参考手册》全套下载地址
        JMX 类
        Red5 实现包含以下类和一些其他的 MBean:
        org.red5.server.jmx.JMXFactory - 提供对平台 MBeanServer 的访问,以及注册、注销和新的 MBean 实例的创建。
        org.red5.server.jmx.JMXAgent - 提供 HTML 适配器以及 MBean 的注册。
        org.red5.server.jmx.JMXUtil - 使用 ObjectName 或 MBean 实例的帮助方法。
        Spring 配置

        Spring 为 JMX 实现的配置允许你配置 MBean 注册的"域"和 HTML 适配器的监听端口。默认配置条目如下:

<!-- JMX server --> 
<!-- JMX server --> 
 <bean id="jmxFactory" class="org.red5.server.jmx.JMXFactory"> 
  <property name="domain" value="org.red5.server"/> 
 </bean> 
 <bean id="jmxAgent" class="org.red5.server.jmx.JMXAgent" init-method="init"> 
  <!-- The RMI adapter allows remote connections to the MBeanServer --> 
  <property name="enableRmiAdapter" value="true"/> 
  <property name="rmiAdapterPort" value="${jmx.rmi.port.registry}"/> 
  <property name="rmiAdapterRemotePort" value="${jmx.rmi.port.remoteobjects}"/> 
  <property name="rmiAdapterHost" value="${jmx.rmi.host}"/> 
  <!-- SSL 
   To use jmx with ssl you must also supply the location of the keystore and its password 
   when starting the server with the following JVM options: 
    -Djavax.net.ssl.keyStore=keystore 
        -Djavax.net.ssl.keyStorePassword=password 
  --> 
  <property name="enableSsl" value="${jmx.rmi.ssl}"/> 
  <!-- Starts a registry if it doesnt exist --> 
  <property name="startRegistry" value="true"/> 
  <!-- Authentication --> 
  <property name="remoteAccessProperties" value="${red5.config_root}/access.properties"/> 
  <property name="remotePasswordProperties" value="${red5.config_root}/password.properties"/> 
  <property name="remoteSSLKeystore" value="${red5.config_root}/keystore.jmx"/> 
  <property name="remoteSSLKeystorePass" value="${rtmps.keystorepass}"/> 
  <!-- The HTML adapter allows connections to the MBeanServer via a web browser --> 
  <property name="enableHtmlAdapter" value="${jmx.http}"/> 
  <property name="htmlAdapterPort" value="${jmx.http.port}"/> 
  <!-- Mina offers its own Mbeans so you may integrate them here --> 
  <property name="enableMinaMonitor" value="true"/> 
 </bean> 

        关于 jmxAgent bean 的配置设置定位在 red5.properties 文件里:

 # JMX 
jmx.rmi.port.registry=9999 
jmx.rmi.port.remoteobjects= 
jmx.rmi.host=0.0.0.0 
jmx.rmi.ssl=false 
jmx.http=false 
jmx.http.port=8082 

                1. jmx.rmi.port.registry - RMI 注册的端口。RMI 适配器可能只会在 RMI 注册运行的时候用到。RMI 注册在默认情况下是启用的。
                2. jmx.rmi.port.remoteobjects - RMI 远程对象的出口端口指定访问通过防火墙。默认端口产生于 RMI 栈。
                3. jmx.rmi.host - 为 RMI 远程访问指定主机绑定到常用的公共地址。
                4. jmx.rmi.ssl - 启用RMI/ JMX 的 SSL。SSL 默认是关闭的。
                5. jmx.http - 启用 HTTP RMI 适配器。HTML 适配器默认情况下是禁用的,但它允许通过 web 浏览器轻松对 MBean 进行管理。
        RMI 认证

        RMI 认证默认情况下是配置好并启用的。这是为了确保来自匿名客户端的 RMI 连接。bean 的属性 remoteAccessProperties 和 remotePasswordProperties 设置 JMX 访问和密码的配置文件。access.properties 和 password.properties 配置文件定义 JMX 用户权限和明文密码。access.properties 包含一个用户和组权限配置,access.properties -

red5user readwrite

        red5user 是 JMX 用户名,readwrite 是通常默认设置的权限。 password.properties 包含有 JMX 用户和密码,password.properties -

red5user changeme

        red5user 是 JMX 用户名而 changeme 是 JMX 密码。
        建议改变默认登录,以及启用 SSL 配置为登录明文。
        JMX / RMI / SSL

        当 RMI 启用 SSL时,bean 属性 remoteSSLKeystore 和 remoteSSLKeystorePass 需要加载 SSL 密钥和 SSL 请求的 keystore 密码。默认加载的 keystore 是 conf/keystore.jmx 文件,它也可以共享 keystore 给 RTMPS 连接。Java 属性 javax.net.ssl.keyStore 和 javax.net.ssl.keyStorePassword 是透明设置的。使用以下命令生成连接客户端和服务器的 keystore 和 truststore:

ant truststore

        这将生成一个 keystore.jmx、red5server.cer 和 truststore.jmx 证书。
        jConsole / JMX 客户端

        jConsole 是一个 JRE(1.5 以后) 附带的实用工具,通过它可以管理本地和远程的 JMX 实现。要启用它的话必须为 Java 的启动加上以下 VM 参数:

-Dcom.sun.management.jmxremote

        本地管理

        设置好以上参数并初始化应用之后,你就可以在命令行启动 jConsole 了:

jconsole

        一个 Swing 应用会出现,选择要管理的实现(代理),本地管理的话只需选择 org.red5.server.Standalone。
        远程管理

        远程连接 jconsole / JMX 客户端的命令是:

jconsole service:jmx:rmi://host:port/jndi/rmi://host:port/red5

        SSL 远程管理
        使用 jconsole / JMX 远程 ssl 连接的客户端需要预先加载生成的 truststore 证书。

        设置 truststore 属性的命令是:

jconsole -J-Djavax.net.ssl.trustStore=truststore.jmx \ 
-J-Djavax.net.ssl.trustStorePassword=password \ 
service:jmx:rmi://host:port/jndi/rmi://host:port/red5

        链接
                http://www.onjava.com/pub/a/onjava/2004/09/29/tigerjmx.html?page=1
                http://java.sun.com/developer/JDCTechTips/2005/tt0315.html#2
原文链接: http://trac.red5.org/wiki/Documentation/UsersReferenceManual/Red5CoreTechnologies/07-Management。

你可能感兴趣的:(spring,bean,ssl,Authentication,jmx)