• 前后端跨域问题


    跨域

    由于浏览器的同源策略,当请求的URL(协议,域名,端口)和当前页面的URL不同,就会出现跨越问题

    方案一:SpringBoot配置

     如果用了SpringBoot,那么配置一个跨域配置即可

    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.config.annotation.CorsRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
    
    
    @Configuration
    public class WebMvcConfig implements WebMvcConfigurer {
    
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/**")
                    .allowedOrigins("*")
                    .allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE")
                    .maxAge(3600)
                    .allowCredentials(true);
        }
    }

    方案二:用Nginx反向代理解决

    nginx.conf

    server {
        # 站点监听端口
        listen       9000;
    
        # 站点访问域名
        server_name  127.0.0.1;
        
        # 编码格式
        charset utf-8;
    
        # 本地访问 http://127.0.0.1:9000/,真实访问的是后端服务地址
        location / {
            # 后端服务地址
            proxy_pass http://172.27.24.63:8001/;
            proxy_set_header      Host      $host;
            proxy_set_header      X-Real-IP $remote_addr;
            proxy_set_header      X-Forwarded-For     $proxy_add_x_forwarded_for;
            proxy_set_header      X-Forwarded-Proto $scheme;
            proxy_connect_timeout 100;
            proxy_send_timeout    300;
            proxy_read_timeout    600;
            client_max_body_size  200m;
        }
    
        # 本地访问 http://127.0.0.1:9000/service1/
        location /service1/ {
            # 后端服务地址
            proxy_pass http://172.27.24.63:8002/;
            proxy_set_header        X-Real-IP       $remote_addr;  
            proxy_set_header        Host            $host;  
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;  
            proxy_pass_request_headers              on;
            proxy_hide_header         Cache-Control; 
        }
    
        # 本地访问 http://127.0.0.1:9000/service2/
        location /service2/ {
            # 后端服务地址
            proxy_pass http://172.27.24.63:8003/;
            proxy_set_header        X-Real-IP       $remote_addr;  
            proxy_set_header        Host            $host;  
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;  
            proxy_pass_request_headers              on;
            proxy_hide_header         Cache-Control; 
        }
    }

    配置了反向代理,启动Nginx后,你前端只需要访问location的地址即可。精简版的你可以只留proxy_pass

    server {
        # 站点监听端口
        listen       9000;
    
        # 站点访问域名
        server_name  127.0.0.1;
        
        # 编码格式
        charset utf-8;
    
        # 本地访问 https://127.0.0.1:9000/,真实访问的是后端服务地址
        location / {
            # 后端服务地址
            proxy_pass http://172.27.24.63:8001/;
        }
    
        # 本地访问 https://127.0.0.1:9000/service1/
        location /service1/ {
            # 后端服务地址
            proxy_pass http://172.27.24.63:8002/;
        }
    
        # 本地访问 https://127.0.0.1:9000/service2/
        location /service2/ {
            # 后端服务地址
            proxy_pass http://172.27.24.63:8003/;
        }
    }
  • 相关阅读:
    极大似然估计理解与应用
    逻辑回归理解及代码实现
    《剑指offer》---数值的整数次方
    线性回归理解及代码实现
    二叉搜索树(BST)---python实现
    《剑指offer》---顺时针打印矩阵
    《剑指offer》---二进制中1的个数
    《剑指offer》---输出链表倒数第k个结点
    版本控制-Git服务器搭建和常用命令使用
    hbase伪分布式平台搭建(centos 6.3)
  • 原文地址:https://www.cnblogs.com/LUA123/p/13916121.html
Copyright © 2020-2023  润新知