`
shutiao2008
  • 浏览: 211985 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ActiveMQ Web控制台的安全性

阅读更多
安装好ActiveMQ后,其默认没有任何安全控制,任何人都可以通过8161端口登录Web控制台,任何人都可以通过61616端口发送和接收JMS消息。在实际应用中,需要由我们自己对ActiveMQ进行安全性配置。

首先讲Web控制台的安全性。

ActiveMQ默认使用Jetty作为内嵌的Web服务器。当然,你也可以把ActiveMQ的部署到Tomcat、JBoss等其他服务器中。在这里,我们采用默认内嵌的Jetty,并使用JAAS来实现安全控制。

1、把 jetty-plus-6.1.9.jar 放到 ${activemq.base}/lib/web/中。如果你手上没有jetty-plus-6.1.9.jar文件,可以从Jetty的官方网站下载,下载Jetty6.1.9版本,解压后,在lib里可以找到该文件。

2、在${activemq.base}/conf/jetty.xml里,加上这么一段:

<userRealms>
    <jaasUserRealm name="adminRealm" loginModuleName="adminLoginModule" />
</userRealms>

3、在${activemq.base}/conf/目录下新建一个login.config文件,内容如下:

adminLoginModule {
    org.mortbay.jetty.plus.jaas.spi.PropertyFileLoginModule required
    debug="true"
    file="${activemq.base}/conf/login.properties";
};

4、在${activemq.base}/conf/目录下新建一个login.properties文件,内容如下:

myusername:mypassword,admins

该文件的格式是:用户名:密码,角色

5、在${activemq.base}/webapps/admin/WEB-INF/web.xml里,添加如下内容:
<security-constraint>
    <web-resource-collection>
        <web-resource-name>adminRealm</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>admins</role-name>
    </auth-constraint>
</security-constraint>

<login-config>
      <auth-method>BASIC</auth-method>
      <realm-name>adminRealm</realm-name>
</login-config>

6、最后,修改${activemq.base}/bin/activemq文件,把配置文件添加到环境变量。把ACTIVEMQ_OPTS修改为:
ACTIVEMQ_OPTS="$ACTIVEMQ_OPTS $SUNJMX $SSL_OPTS -Djava.security.auth.login.config=${ACTIVEMQ_BASE}/conf/login.config"
配置完毕。重启ActiveMQ,在浏览器里打开http://localhost:8161/admin,就会弹出一个对话框,要求输入用户名和密码。

分享到:
评论
6 楼 xnfriday 2013-09-18  
只写怎么配,却没有写为什么这么配...
5 楼 linhui_dragon 2013-02-04  
请求大家帮忙,为什么启动报错
4 楼 linhui_dragon 2013-02-04  
按照楼上 shutiao2008 说的,一步一步配置后,activemq.bat 还是启动报错啊,找不到class:


wrapper  | --> Wrapper Started as Console
wrapper  | Launching a JVM...
jvm 1    | java.lang.NoClassDefFoundError: org/tanukisoftware/wrapper/WrapperSim
pleApp
jvm 1    | Caused by: java.lang.ClassNotFoundException: org.tanukisoftware.wrapp
er.WrapperSimpleApp
jvm 1    |      at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
jvm 1    |      at java.security.AccessController.doPrivileged(Native Method)
jvm 1    |      at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
jvm 1    |      at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
jvm 1    |      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

jvm 1    |      at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
jvm 1    | Could not find the main class: org.tanukisoftware.wrapper.WrapperSimp
leApp.  Program will exit.
wrapper  | JVM exited while loading the application.
wrapper  | Launching a JVM...
jvm 2    | java.lang.NoClassDefFoundError: org/tanukisoftware/wrapper/WrapperSim
pleApp
jvm 2    | Caused by: java.lang.ClassNotFoundException: org.tanukisoftware.wrapp
er.WrapperSimpleApp
jvm 2    |      at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
jvm 2    |      at java.security.AccessController.doPrivileged(Native Method)
jvm 2    |      at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
jvm 2    |      at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
jvm 2    |      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

jvm 2    |      at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
jvm 2    | Could not find the main class: org.tanukisoftware.wrapper.WrapperSimp
leApp.  Program will exit.
wrapper  | JVM exited while loading the application.
wrapper  | Launching a JVM...
jvm 3    | java.lang.NoClassDefFoundError: org/tanukisoftware/wrapper/WrapperSim
pleApp
jvm 3    | Caused by: java.lang.ClassNotFoundException: org.tanukisoftware.wrapp
er.WrapperSimpleApp
jvm 3    |      at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
jvm 3    |      at java.security.AccessController.doPrivileged(Native Method)
jvm 3    |      at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
jvm 3    |      at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
jvm 3    |      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

jvm 3    |      at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
jvm 3    | Could not find the main class: org.tanukisoftware.wrapper.WrapperSimp
leApp.  Program will exit.
wrapper  | JVM exited while loading the application.
wrapper  | Launching a JVM...
jvm 4    | java.lang.NoClassDefFoundError: org/tanukisoftware/wrapper/WrapperSim
pleApp
jvm 4    | Caused by: java.lang.ClassNotFoundException: org.tanukisoftware.wrapp
er.WrapperSimpleApp
3 楼 smile_wangchun 2012-11-12  
[/color][color=brown]
[img][/img]
2 楼 smile_wangchun 2012-11-12  
fjjiaboming 写道
版本也不写....

[b][/b][i][/i]
引用
[img][/img][url][/url][flash=200,200][/flash]
1 楼 fjjiaboming 2011-07-13  
版本也不写....

相关推荐

    activemq-web-3.1.jar.zip

    5. **安全性**:在生产环境中,务必考虑安全性,包括设置强密码,启用SSL/TLS加密,以及配置合适的权限控制,以防止未授权访问。 6. **监控和日志**:利用ActiveMQ Web提供的监控工具,可以定期检查队列状态、消息...

    tomcat下activemq之http配置

    总的来说,配置Tomcat下的ActiveMQ HTTP连接涉及到多个方面,包括XML配置文件的修改、Web控制台的部署、安全性的设置以及Stomp协议的使用。理解这些知识点,能帮助你在实际开发中有效利用ActiveMQ实现可靠的消息传递...

    activemq-web-3.2.1.jar.zip

    4. **安全性**:在 Web 环境下,安全性尤为重要。ActiveMQ 提供了 SSL/TLS 加密以及用户权限管理等功能,确保数据安全和访问控制。 5. **Web 控制台**:这个版本可能包含了 ActiveMQ 的 Web 控制台,允许用户通过...

    activemq-web-4.0-M2.jar.zip

    `activemq-web-4.0-M2.jar`包含了ActiveMQ服务器的Web控制台和相关Web应用程序,使得用户可以通过浏览器方便地监控和管理ActiveMQ消息队列。这个组件通常部署在应用服务器如Tomcat或Jetty上,通过HTTP/HTTPS协议提供...

    ActiveMQ实战(英文版)

    8. **安全性**:ActiveMQ支持多种安全策略,如SSL/TLS加密,以及基于角色的访问控制(RBAC),确保消息的安全传输。 9. **集成能力**:ActiveMQ可轻松集成到Spring框架,以及其他Java EE应用服务器中,如Tomcat、...

    ActiveMQ消息服务器 v6.0.1.zip

    5. 安全性:ActiveMQ内置了用户认证和授权机制,可以通过SSL/TLS加密传输,保障数据的安全性。 二、ActiveMQ应用场景 1. 微服务通信:在微服务架构中,ActiveMQ作为服务间通信的桥梁,实现异步解耦和数据同步。 2. ...

    linux版本ActiveMQ 5.15.8

    5. **安全性** - **用户认证**:通过修改`conf/users.properties`和`conf/roles.properties`文件添加用户和角色。 - **SSL/TLS**:为网络通信提供加密,保障数据安全。 6. **消息持久化** - **KahaDB**:...

    activeMQ安装

    ActiveMQ使用两个主要端口:一个是消息通讯端口(默认为61616),另一个是Web控制台端口(默认为8161)。确保你的防火墙允许这些端口的入站连接。在Linux中,可以编辑`/etc/sysconfig/iptables`,添加以下规则,然后...

    apache-activemq-5.15.8-bin.zip

    ActiveMQ的特点包括高可靠性、高性能、可扩展性和安全性。它支持持久化消息,即使在服务器重启后也能保证消息不丢失。同时,ActiveMQ还提供了多种策略来处理消息过载和网络故障。 在实际应用中,ActiveMQ常被用于...

    apache-activemq-5.15.15二进制包,安装包

    7. **安全性**:ActiveMQ提供了基于角色的访问控制(RBAC)、SSL加密以及JAAS认证,确保消息传输的安全性。 8. **事务支持**:支持本地JMS事务和分布式JTA事务,确保消息的一致性和完整性。 9. **消息优先级与...

    apache-activemq-5.15.11-bin.tar.gz

    总之,"apache-activemq-5.15.11-bin.tar.gz"提供了强大的消息中间件服务,适用于Linux环境,涵盖了高可用性、高性能、安全性和可扩展性的需求。通过理解上述知识点,您可以有效地部署、配置和管理ActiveMQ,满足...

    ActiveMQ客户端

    9. **安全性**:ActiveMQ支持基于角色的访问控制(RBAC)、SSL加密以及JAAS认证,保障了消息传递的安全性。 10. **性能优化**:ActiveMQ提供多种性能优化策略,例如预取(prefetching)技术,允许消费者在需要时...

    apache-activemq-5.14.3-bin.zip

    用户可以根据需求修改这些配置以优化性能或安全性。 3. `lib`目录:包含了运行ActiveMQ所需的库文件,包括JMS API、ActiveMQ核心库以及与各种协议相关的库。 4. `webapps`目录:包含了Web控制台的相关文件,通过...

    apache-activemq-5.15.9.rar

    ActiveMQ还提供了一个Web控制台(默认端口8161),可以用来监控和管理队列、主题和连接。 为了实现高可用性和容错性,ActiveMQ支持多种部署模式,如网络集群、故障转移和复制。在集群模式下,多个ActiveMQ实例可以...

    activeMQ收发工具.rar

    9. **性能监控**:ActiveMQ提供了一套强大的监控工具,包括Web控制台,可以用来查看消息的发送、接收和堆积情况,帮助优化系统性能。 10. **安全配置**:理解ActiveMQ的安全模型,包括用户身份验证和权限控制,这...

    activemq 配置说明与activemq入门讲解

    3. **Web控制台**:ActiveMQ内置了一个Web控制台,可以通过浏览器访问`http://localhost:8161/admin`来监控和管理队列、主题、连接和消费者等。 4. **消息模型**:ActiveMQ支持两种消息模型——点对点(Queue)和...

    apache-activemq-5.11.1-bin 官方windows版本

    - `conf\jetty.xml`用于配置内置Jetty服务器,使得ActiveMQ可以通过Web控制台进行管理。 - 配置JVM参数,如内存大小、日志级别等,可通过修改`bin\setenv.bat`(Windows)或`bin/setenv.sh`(Unix/Linux)实现。 ...

    ActiveMQ 安装 手册 说明

    将文件移动到 `/usr/local/` 目录下,确保文件的安全性,可以使用 `chmod -R 777` 命令给予所有用户读写执行权限。接着,使用 `tar` 命令解压缩文件,这将创建一个名为 `apache-activemq-5.3.0` 的目录,该目录包含...

    apache-activemq Linux版本

    6. **Web管理界面**: 提供了一个直观的Web控制台,方便用户监控、管理消息代理和队列。 7. **安全机制**: 可以配置SSL/TLS加密,以及用户权限和访问控制,保障系统安全。 8. **网络连接**: 支持集群和故障转移,...

    最新稳定版ActiveMQ5.15.0

    7. **管理工具**:ActiveMQ自带了一个Web控制台,方便管理员监控和管理消息代理,查看消息队列状态、消费者信息、日志等。 8. **持久化机制**:ActiveMQ支持多种持久化机制,包括本地文件系统、LevelDB、JDBC数据库...

Global site tag (gtag.js) - Google Analytics