首页 > 系统相关 >Nginx配置跨域,覆盖后端服务跨域配置

Nginx配置跨域,覆盖后端服务跨域配置

时间:2023-04-23 16:24:42浏览次数:49  
标签:Control Origin 跨域 header 配置 Access Nginx Allow

本篇文章主要介绍了,如何通过Nginx配置跨域,并覆盖后端服务跨域配置。

先看下后端代码跨域配置:

主要的目标是:不修改后端跨域配置代码,来实现Nginx跨域指定域名。

    @Bean
    public CorsFilter corsFilter() {
        final UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource();
        final CorsConfiguration corsConfiguration = new CorsConfiguration();
        corsConfiguration.setAllowCredentials(true);
        corsConfiguration.addAllowedOrigin("*");
        corsConfiguration.addAllowedHeader("*");
        corsConfiguration.addAllowedMethod("*");
        urlBasedCorsConfigurationSource.registerCorsConfiguration("/**",
            corsConfiguration);
        log.info("跨域已启动");
        return new CorsFilter(urlBasedCorsConfigurationSource);
    }

    @Bean
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }

}

Nginx覆盖后端代理服务的header,有两种实现方式

  1. 使用 proxy_hide_header 方式实现。
  2. 使用more_set_headers 'Access-Control-Allow-Origin: 指定域名';

使用 proxy_hide_header 方式实现:

  server {
      listen       7077;
     server_name  localhost;
     add_header Access-Control-Allow-Headers "*";
     add_header Access-Control-Allow-Methods "POST, GET, PUT, PATCH, OPTIONS";
     #隐藏后端服务响应中的 Access-Control-Allow-Origin 标头
     proxy_hide_header 'Access-Control-Allow-Origin';
     # 隐藏后再次添加 Access-Control-Allow-Origin 标头。只允许8091域下访问
     add_header 'Access-Control-Allow-Origin' 'http://192.0.0.1:8091';
     location /xxx/pc {
        proxy_pass http://192.0.0.1:7077;
     }
 }

使用more_set_headers方式实现:

more方式需要安装nginx模块。模块安装可以参考:more安装步骤

  server {
     listen       7077;
     server_name  localhost;
     add_header Access-Control-Allow-Headers "*";
     add_header Access-Control-Allow-Methods "POST, GET, PUT, PATCH, OPTIONS";
   
     #直接设置后端服务响应中的 Access-Control-Allow-Origin 标头内容。
     more_set_headers 'Access-Control-Allow-Origin: http://192.0.0.1:8091' 
     location /xxx/pc {
        proxy_pass http://192.0.0.1:7077;
    }
 }

标签:Control,Origin,跨域,header,配置,Access,Nginx,Allow
From: https://www.cnblogs.com/easonchean/p/17346848.html

相关文章

  • hybridnet配置
    1、安装hybridnethelm repo add hybridnet https://alibaba.github.io/hybridnet/helm repo updatehelm install hybridnet hybridnet/hybridnet -n kube-system --set init.cidr=10.244.0.0/16  2、master节点添加标签,根据hybridnet-manager这个deploy添加......
  • SAP SD 配置路径
    编号配置项事务代码配置路径                             1销售组织结构层                             101定义销售组织SPR......
  • nginx 转发
    server{listen80;#listen443ssl;server_name*.*.com;#rewrite^(.*)$https://$host$1permanent;gzipon;gzip_staticon;#需要http_gzip_static_module模块gzip_min_length1k;gzip_comp_level4;gzip_proxiedany......
  • RK3588 Qt 交叉编译之四:配置及编译报错记录
    运行时出现错误提示:QIconvCodec::convertToUnicode:usingLatin-1forconversion,iconv_openfailedQIconvCodec::convertFromUnicode:usingLatin-1forconversion,iconv_openfailed原因是缺少iconv库,解决方案如下:./configure后添加编译-no-iconv运行时出现错误提......
  • spring boot项目的日志配置
    1.日志的作用日志记录了系统行为的时间、地点、状态等相关信息,能够帮助我们了解并监控系统状态,在发生错误或者接近某种危险状态时能及时提醒我们处理,同时在系统产生问题,能够帮助我们快速定位、诊断问题。2.常用的日志框架log4j:Log4j是Apache的一个Java的日志库,是一款非常古老......
  • Django配置mysql数据库
    今天跟大家分享Django配置python的mysql数据库链接工具pymysql。系统环境:windows11x64,pycharm专业2022.3版本,python11,Django4.0。第一步:pip安装pymysql库,在当前django的python环境中用pip install pymysql进行安装。如下图: 我已经安装好,所以不用重新安装,这里需要注意的是有......
  • Nginx 入门实战(1)--简介及安装
    本文介绍的Nginx为开源版本Nginx,官网地址为:https://nginx.org/en/,如需了解商业版本,可访问商业官网:https://www.nginx-cn.net/;文中所使用到的软件版本:nginx1.22.1、pcre8.43、opnessl1.1.1s、CentOS 7.9.20091、简介nginx[enginex]是一款Http和反向代理服务器、邮件......
  • STM32F103的默认测试端口(JTAG\SW)用作普通IO口的配置
    STM32F103的默认测试端口(JTAG\SW)介绍STM32F103的PB3、PB4、PA13、PA14、PA15在默认上电状态并不是具有普通 IO 的功能的。而是用作SWJ-DP端口(用于JTAG调试)  这些引脚只有重定义功能后才能作为普通的IO口使用,所以我们需要对这些引脚进行配置的时候开启AFIO复用时钟。下......
  • 如何使用nginx代理网站链接
    代理单个地址代理单个地址,意思是通过nginx配置之后,nginx这边会配置出一个特定的地址,这个地址对应被代理的网站地址。比如,网站分享后的地址是:http://192.168.31.165:81/abc/通过nginx代理后,该地址可被代理为:http://192.168.31.4:8081/a1/配置如下:map$http_upgrade$co......
  • 测试环境服务器配置、生成环境服务器配置、测试机配置
    测试环境服务器配置:CPU:2核  内存:4GB(I/O优化)带宽5Mbps生产环境服务器配置:前端服务器3台配置CPU:4核  内存:4GB 带宽20Mbps;后端2台配置 CPU:4核  内存:8GB 带宽5Mbps测试机配置:CPU:8核内存:16G Speed:1000Mb/s......