ACCESSRabbitMQ远程不克顾问题的缓解

正要安装之RabbitMQ-Server-3.3.5,并且也已经打开了Web管理效率,可是今有一个题目:

是因为安全之考虑,guest这个默认的用户只好通过http://localhost:15672
来登录,不可知使用IP地址登录,也即是勿克中远距离访问,这对于服务器上尚无设置桌面的情况是不可以管理珍惜的。

ACCESS 1ACCESS 2

虽然化解这问题需要安排远程登录权限,这里经过配备文件来促成长途访问。

CentOS 5.6
安装RabbitMQ http://www.linuxidc.com/Linux/2013-02/79508.htm

RabbitMQ客户端C++安装详细记录 http://www.linuxidc.com/Linux/2012-02/53521.htm

用Python尝试RabbitMQ http://www.linuxidc.com/Linux/2011-12/50653.htm

RabbitMQ集群环境生产实例部署 http://www.linuxidc.com/Linux/2012-10/72720.htm

Ubuntu下PHP +
RabbitMQ使用 http://www.linuxidc.com/Linux/2010-07/27309.htm

在CentOS上安装RabbitMQ流程 http://www.linuxidc.com/Linux/2011-12/49610.htm

这边要介绍Unix和Windows的布文件修改。

一、Windows

    Windows环境下默认配置文件也目录/%RabbitMQ
Server%/rabbitmq_server-3.3.5/etc下之rabbitmq.config.example文件,我们得以间接当这文件中改(可以免用去装环境变量了),也可以团结更新建一个rabbitmq.config文件,然后将此文件路径配置到环境变量中,这里介绍就直修改rabbitmq.config.example文件。

    注意:修改前,需要事先截止RabbitMQ服务!!不然是无可知保存的!!!

布从前用事先添补加用户,用于外网的访,可以应用命令执行来贯彻增长用户,需要在RabbitMQ的安目录sbin目录下举行:

duanwf@master:/opt/rabbitmq_server-3.3.5/sbin$ rabbitmqctl add_user
admin admin

   
也可以经过web管理页面来填补加用户与密码,使用guest登录web管理页面http://localhost:15672,进入“admin”标签页,然后点击“Add
a user ”,输入对用的帐号密码,然后采纳用户角色(一定假使摘):

ACCESS 3

    为了授权该用户对VirtualHost”/”
的走访,用户增长之后,需要针对拖欠用户展开授权,不然运行会晤世错误:

1 Caused by: com.rabbitmq.client.ShutdownSignalException: channel error;
reason: {#method<channel.close>(reply-code=403,
reply-text=ACCESS_REFUSED – access to queue ‘hello’ in vhost ‘/’
refused for user ‘admin’, class-id=50, method-id=10), null, “”}

详细错误日志也:

 java.io.IOException
 at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:106)
 at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:102)
 at
com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:124)
 at com.rabbitmq.client.impl.ChannelN.queueDeclare(ChannelN.java:766)
 at com.rabbitmq.client.impl.ChannelN.queueDeclare(ChannelN.java:61)
 at
com.asiainfo.mq.rabbitmq.rabbitmqtest.SendTest.main(SendTest.java:29)
Caused by: com.rabbitmq.client.ShutdownSignalException: channel error;
reason: {#method<channel.close>(reply-code=403,
reply-text=ACCESS_REFUSED – access to queue ‘hello’ in vhost ‘/’
refused for user ‘admin’, class-id=50, method-id=10), null, “”}
 at
com.rabbitmq.utility.ValueOrException.getValue(ValueOrException.java:67)
 at
com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.java:33)
 at
com.rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.getReply(AMQChannel.java:343)
 at
com.rabbitmq.client.impl.AMQChannel.privateRpc(AMQChannel.java:216)
 at
com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:118)
 … 3 more
Caused by: com.rabbitmq.client.ShutdownSignalException: channel error;
reason: {#method<channel.close>(reply-code=403,
reply-text=ACCESS_REFUSED – access to queue ‘hello’ in vhost ‘/’
refused for user ‘admin’, class-id=50, method-id=10), null, “”}
 at com.rabbitmq.client.impl.ChannelN.asyncShutdown(ChannelN.java:473)
 at com.rabbitmq.client.impl.ChannelN.processAsync(ChannelN.java:313)
 at
com.rabbitmq.client.impl.AMQChannel.handleCompleteInboundCommand(AMQChannel.java:144)
 at
com.rabbitmq.client.impl.AMQChannel.handleFrame(AMQChannel.java:91)
 at
com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:533)

 

 
操作过程为:在Admin标签页下点击新增的用户”admin”,进入授权页面,默认直接点击”set
permission”即可:

ACCESS 4

用户和授权添加成就之后,在rabbitmq.config.example文件被,添加以下内容,保存后更启RabbitMQ服务:

……
[
 {rabbit,
  [%%
  %% Network Connectivity
  %% ====================
  %%
  %% By default, RabbitMQ will listen on all interfaces, using
  %% the standard (reserved) AMQP port.
  %%
  {tcp_listeners, [5672]},
  {loopback_users, [“admin”]},
……
  ]}
].

于浏览器中输入http://192.168.0.124:15672实现通过IP地址访问,成功登录:

ACCESS 5

测试用例见博文“RabbitMQ远程调用测试用例 http://www.linuxidc.com/Linux/2014-10/107916.htm

双重多详情见要继续读书下一致页的出色内容: http://www.linuxidc.com/Linux/2014-10/107917p2.htm

相关文章