我现在遇到一个 devops 问题,解决不了了,想上来找找思路
是这样的,我的一个 sidekiq service 会 call 到一个 rabbitmq 。不是 sidekiq 用 rabbitmq 实现。sidekiq 依然用 redis ,就是其中一个功能去 call rabbitmq 。
本地测试完全 ok ,是用我自己电脑的 sidekiq 去 call 远程的 rabbitmq
我 deploy 到 azure ,就发生 bunny 报错说, connection rejected 。我只有一个用户名密码,这个绝对没错。
azure 云端情况又有点复杂。 有两个 app service 在一个 resource group 里,同样的 networking 设定,连内部 ip 都是完全一样的
目前我能 ssh 到一个 app service a ,测试从 a 发消息到 rabbitmq ,完全没问题
但是 sidekiq 在 app service b 里,目前不能 ssh 到 b 。理论上讲,a 和 b 应该完全一样的网络设定
通过 b 的 azure bash 功能,我能 tcpping 到 rabbitmq 的远程端口。所以,b 到 rabbitmq 的网络应该没什么问题。
问题在于,一样的用户名和密码,我在本地跑一切顺利。部署到 azure app service b ,就报 connection rejected 。
我在程序中输出了一些 debug info ,绝对就是卡在连接这一步,用户名密码对的,就是不能连接
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.