내 우분투 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}
흥미롭게도 텔넷을 통해 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를 사용하여 토끼를 연결합니다. 하지만 어쨌든 작동해야 합니다.
답변1
문제는 프로토콜이다. 내 경우에는 수신되는 http 요청을 차단했을 때 http://ip가 잘못된 요청 URL이므로 ip
http 프로토콜을 사용하지 않도록 변경해야 합니다.