vue 集成 websocket ,打开连接时,403 (Forbidden)
如下:
POST http://localhost:1888/api/imobpay-sqlinspection/endpointWisely/919/dypxhgm0/xhr_send?t=1595469633202 403 (Forbidden)
后台是spring cloud,解决办法:
package com.imobpay.sqlinspection.config; import org.springframework.context.annotation.Configuration; import org.springframework.messaging.simp.config.MessageBrokerRegistry; import org.springframework.web.socket.config.annotation.AbstractWebSocketMessageBrokerConfigurer; import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker; import org.springframework.web.socket.config.annotation.StompEndpointRegistry; import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer; /** * */ @Configuration @EnableWebSocketMessageBroker //通过EnableWebSocketMessageBroker 开启使用STOMP协议来传输基于代理(message broker)的消息,此时浏览器支持使用@MessageMapping 就像支持@RequestMapping一样。 public class WebSocketConfig implements WebSocketMessageBrokerConfigurer { @Override public void registerStompEndpoints(StompEndpointRegistry registry) { //endPoint 注册协议节点,并映射指定的URl //注册一个Stomp 协议的endpoint,并指定 SockJS协议 registry.addEndpoint("/endpointWisely").setAllowedOrigins("*").withSockJS(); //注册一个名字为"endpointChat" 的endpoint,并指定 SockJS协议。 点对点-用 registry.addEndpoint("/endpointChat").setAllowedOrigins("*").withSockJS(); } @Override public void configureMessageBroker(MessageBrokerRegistry registry) {//配置消息代理(message broker) //广播式应配置一个/topic 消息代理 registry.enableSimpleBroker("/topic"); //点对点式增加一个/queue 消息代理 registry.enableSimpleBroker("/queue","/topic"); } }
注册endpoint 时 加上 .setAllowedOrigins("*")
本文来自博客园,作者:margo,转载请注明原文链接:https://www.cnblogs.com/ZMargo/articles/13364649.html