1
我正在构建一个用户RabbitMQ作为消息代理的Spring Websocket应用程序。使用rabbitmq配置Spring websocket时出现非回送访问被拒绝错误
配置文件提供以下
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
config.enableStompBrokerRelay("/topic")
.setRelayHost("192.168.1.8")
.setRelayPort(61613)
.setClientLogin("user")
.setClientPasscode("user");
//config.enableSimpleBroker("/topic");
config.setApplicationDestinationPrefixes("/app");
}
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/gs-guide-websocket").setAllowedOrigins("*").withSockJS();
}
}
但是,当我运行的应用程序它给了我下面的错误
Received ERROR {message=[Bad CONNECT], content-type=[text/plain], version=[1.0,1.1,1.2],
content-length=[26]} session=_system_ text/plain payload=non-loopback access denied
我曾试图给出所需的权限RabbitMQ的
sudo rabbitmqctl set_permissions -p/user ".*" ".*" ".*"
但仍然出现问题。但是,如果我将'setRelayHost(..)'中的ipaddress替换为'localhost'或'127.0.0.1',则应用程序可以正常工作。
您是否解决了此问题? – pranag