Spring Cloud Gateway配置CORS通配符域名的YAML实现咨询
Spring Cloud Gateway 配置CORS通配符允许特定端口结尾的源
你需要将原配置中的allowedOrigins替换为allowedOriginPatterns,并使用符合Spring CORS规则的通配符模式来实现需求。
原配置是精确匹配单个源,而allowedOriginPatterns支持用*作为通配符完成模糊匹配。要允许所有以:8080结尾的源,正确的YAML配置如下:
spring: cloud: gateway: globalcors: cors-configurations: '[/**]': allowedOriginPatterns: "*://*:8080"
配置说明:
*://:匹配任意协议(http或https)*::匹配任意主机名(域名或IP地址)8080:固定端口,确保请求源以:8080结尾
如果只需要允许http协议的源,可将模式改为http://*:8080;仅允许https的话则用https://*:8080。
之前尝试的*host:8080无效,是因为不符合Spring的通配符规则——Spring CORS中*代表任意长度的任意字符,不能直接和固定字符串拼接成*host这类形式,正确写法是用*替代需要模糊匹配的部分。
内容的提问来源于stack exchange,提问作者Rohit
相关产品推荐
相关产品推荐

