首页 > 解决方案 > 停用 ActiveMQ 5.16.2 Web 控制台的 HTTP 访问

问题描述

我正在使用 ActiveMQ 5.16.2,我只想提供对 Web 控制台的安全访问。因此,我想:

我必须配置哪些文件以及如何配置这些更改?

标签: activemq

解决方案


你只需要改变conf/jetty.xml。要禁用 HTTP 访问注释掉Connectorbean,然后启用 HTTPS 访问取消注释SecureConnectorbean,例如:

    <bean id="invokeConnectors" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
        <property name="targetObject" ref="Server" />
        <property name="targetMethod" value="setConnectors" />
        <property name="arguments">
            <list>
                <!--bean id="Connector" class="org.eclipse.jetty.server.ServerConnector">
                    <constructor-arg ref="Server" />
                    <property name="host" value="#{systemProperties['jetty.host']}" />
                    <property name="port" value="#{systemProperties['jetty.port']}" />
                </bean-->
                <!--
                    Enable this connector if you wish to use https with web console
                -->
                <bean id="SecureConnector" class="org.eclipse.jetty.server.ServerConnector">
                    <constructor-arg ref="Server" />
                    <constructor-arg>
                        <bean id="handlers" class="org.eclipse.jetty.util.ssl.SslContextFactory">
                        
                            <property name="keyStorePath" value="${activemq.conf}/broker.ks" />
                            <property name="keyStorePassword" value="password" />
                        </bean>
                    </constructor-arg>
                    <property name="port" value="8162" />
                </bean>
            </list>
        </property>
    </bean>

您需要提供自己的 SSL 证书。只需将您的证书放在conf目录中并适当地更改keyStorePathkeyStorePassword值,例如:

<property name="keyStorePath" value="${activemq.conf}/myCert.p12" />
<property name="keyStorePassword" value="myCertPassword" />

推荐阅读