日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RabbitMQ远程不能访问问题的解决

發布時間:2024/4/14 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RabbitMQ远程不能访问问题的解决 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

剛剛安裝的RabbitMQ-Server-3.3.5,并且也已經開啟了Web管理功能,但是現在存在一個問題:

出于安全的考慮,guest這個默認的用戶只能通過http://localhost:15672 來登錄,不能使用IP地址登錄,也就是不能遠程訪問,這對于服務器上沒有安裝桌面的情況是無法管理維護的。

要解決這個問題需要配置遠程登錄權限,這里通過配置文件來實現遠程訪問。

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 ”,輸入對用的帳號密碼,然后選擇用戶角色(一定要選擇):

? ? 為了授權該用戶對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"即可:

用戶以及授權添加完成之后,在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地址訪問,成功登錄:

測試用例見博文“RabbitMQ遠程調用測試用例?http://www.linuxidc.com/Linux/2014-10/107916.htm”

更多詳情見請繼續閱讀下一頁的精彩內容:?http://www.linuxidc.com/Linux/2014-10/107917p2.htm

轉載于:https://www.cnblogs.com/jjg0519/p/6738654.html

總結

以上是生活随笔為你收集整理的RabbitMQ远程不能访问问题的解决的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。