websocket+springboot,vue+sockjs,如何解决跨域?

2020-07-07 10:04发布

websocket+springboot,vue+sockjs,如何解决跨域?
springboot+wesocket作后端,使用vue+sockjs作前端,前后端分离,链接后端路径一直报跨域问题,我想向您请教一下如何实现sockjs前端跨域的问题?反向代理的话如何配置?

标签:
4条回答
做个烂人
2楼-- · 2020-07-07 10:27

继承 :WebMvcConfigurationSupport

重写 addCorsMappings

  @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowedMethods("GET", "POST", "PUT", "OPTIONS", "DELETE", "PATCH")
                .allowCredentials(true).maxAge(3600);
    }
查看更多
一夜七次
3楼-- · 2020-07-07 10:30

用CorsRegistry就行

查看更多
Rolldiameter
4楼-- · 2020-07-07 10:43

1、nginx 配置, 通过代理转发到跨域的域名
2、跨域会有OPTIONS预检(会发送两个请求,一次是OPTIONS ,一次是真正的请求)

后端处理 遇到options 请求时 可以返回 response header 
Access-Control-Allow-Origin:*
Access-Control-Allow-Headers:Content-Type,AccessToken,X-CSRF-Token, Authorization, Token
Access-Control-Allow-Methods:POST, GET, OPTIONS, PUT, PATCH, DELETE

并返回http status :2XX

3、jsonp

查看更多
聊天终结者
5楼-- · 2020-07-07 10:43

jsonp格式就好了

查看更多
登录 后发表回答