maybetomorrow
96
2019-05-15 11:51:20
3
564

spring boot, vue js AWS EC2 서비스 올릴 때 해결이 안되서 재질문올립니다.


현재 ec2에 spring boot 와 vue js 프로젝트를 인스턴스에 배포 했습니다.

vue js는 webpack으로 빌드해서 dev server 8080으로 실행했고,

spring boot는 3000번 포트로 실행 된 상태입니다. 근데 vue에서 api 서버(3000번 포트에 ) 요청을 보내면

당연히 cors 에러가 나는데 부트에서 cors 설정을 했음에도 불구하고 지속적으로 403 error가 나타나는데,

어떻게 해결해야 할지 모르겠습니다.

어제 Q/A 에서 답변을 받았는데, 이미 해본 설정이고 혹시나 다른 해결법이 있다면 답변 부탁 드립니다.


security에서 cors 관련 설정코드입니다.

@Override
    protected void configure(HttpSecurity http) throws Exception {
        /*CorsConfiguration configuration = new CorsConfiguration();
        configuration.setAllowedOrigins(Arrays.asList("*"));
        configuration.setAllowedMethods(Arrays.asList("GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"));
        configuration.setAllowedHeaders(Arrays.asList("*"));
        configuration.setAllowCredentials(true);

        configuration.setMaxAge(3600L);
        UrlBasedCorsConfigurationSource source =
                new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", configuration);*/
        http.headers().frameOptions().disable();
        http.cors().configurationSource(request -> new CorsConfiguration().applyPermitDefaultValues());
        http.httpBasic()
                .and()
                .exceptionHandling().authenticationEntryPoint(restAuthenticationEntryPoint)
                .and()
                .authorizeRequests()
                .antMatchers("/h2/*").permitAll()
     
                .csrf().ignoringAntMatchers("/**");
    }

 

webpack config 설정입니다.


module.exports = {
  dev: {
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    proxyTable: {
      '/api': {
        target: 'http://15.164.26.183:3000/api',
changeOrigin: true, pathRewrite: { '^/api': '' } } }, // Various Dev Server settings host : 'http://15.164.26.183', port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined autoOpenBrowser: false, errorOverlay: true, notifyOnErrors: true, poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions- /** * Source Maps */ // https://webpack.js.org/configuration/devtool/#development devtool: 'cheap-module-eval-source-map', // If you have problems debugging vue-files in devtools, // set this to false - it *may* help // https://vue-loader.vuejs.org/en/options.html#cachebusting cacheBusting: true, cssSourceMap: true }, build: { // Template for index.html //index: path.resolve(__dirname, '../dist/index.html'), index: path.resolve(__dirname,'../../backend/src/main/resources/templates/index.html'), // Paths assetsRoot: path.resolve(__dirname, '../../backend/src/main/resources/static'), assetsSubDirectory: '', assetsPublicPath: '/static', /** * Source Maps */ productionSourceMap: true, // https://webpack.js.org/configuration/devtool/#production devtool: '#source-map', // Gzip off by default as many popular static hosts such as // Surge or Netlify already gzip all static assets for you. // Before setting to `true`, make sure to: // npm install --save-dev compression-webpack-plugin productionGzip: false, productionGzipExtensions: ['js', 'css'], // Run the build command with an extra argument to // View the bundle analyzer report after build finishes: // `npm run build --report` // Set to `true` or `false` to always turn it on or off bundleAnalyzerReport: process.env.npm_config_report } }



0
0
  • 댓글 3

  • 즈루시
    12k
    2019-05-15 15:31:07

    어제 질답게시판에서 답변을 받았는데도 사는 얘기에 올리는 센스는 뭔가요?

    몰라서 올린것도 아니고... 뻔뻔하심.

    0
  • 리자몽
    104
    2019-05-15 15:32:57

    뻔뻔하심.

    1
  • goweb
    107
    2019-05-16 08:08:13

    Cors 설정 클래스 상단에

    이거 달아보세요..

    @Order(Ordered.HIGHEST_PRECEDENCE)
    0
  • 로그인을 하시면 댓글을 등록할 수 있습니다.