Networking

兔子 mq handshake_timeout

  • October 6, 2020

在我的 ubuntu aws 伺服器上的 docker 上執行了一個 rabbitmq,我從本地 pc 應用程序連接到該伺服器。在 nginx 上設置 https 域後,它就解散了(我不確定是不是這個原因)。

我嘗試通過在上述命令之後telnet ip port顯示Docker 日誌的方式進行連接:Connection closed by foreign host.

2020-10-02 17:20:57.873 [info] <0.546.0> Resetting node maintenance status
2020-10-02 17:31:23.071 [info] <0.1670.0> accepting AMQP connection <0.1670.0> (84.54.87.17:58935 -> private_ip:5672)
2020-10-02 17:31:23.071 [error] <0.1670.0> closing AMQP connection <0.1670.0> (84.54.87.17:58935 -> private_ip:5672):
{handshake_timeout,handshake}

有趣的是,當我通過 telnet 連接到 rabbit_management 外掛時,也會出現同樣的錯誤。但是,我可以從瀏覽器訪問 rabbit_management。

AWS 邊界規則和 ufw 埠已打開

當執行我的應用程序(用於 rabbitmq 客戶端的 python 和 aio_pika lib)時,會發生以下錯誤:

Could not get addresses to use: [Errno -2] Name or service not known (http)

如何解決這個問題?

PS我使用彈性IP連接到兔子,而不是域名。但它應該在任何情況下都有效。

問題在於協議。在我的情況下,當我阻止傳入的 http 請求時,http://ip 是無效的請求 url,應該將其更改為ip沒有 http 協議。

引用自:https://unix.stackexchange.com/questions/612617