globalcors: #全局的跨域处理 add-to-simple-url-handler-mapping: true #解决options请求被拦截问题 cors-configurations: '[/**]': allowed-origins: #允许哪些网站的跨域请求 - "http://localhost:8080" allowed-methods: #允许的跨域ajax的请求方式 - "GET" - "POST" - "DELETE" - "PUT" - "OPTIONS" allowed-headers: "*" #允许在请求中携带的头信息 allow-credentials: true #是否允许携带cookie maxAge: 360000 #这次跨域检测的有效期 这段配置有啥作用
时间: 2024-02-14 20:28:51 浏览: 366
这段配置是用于实现全局的跨域处理,即允许不同域的网站发送跨域请求到你的后端服务。下面是各个配置项的作用:
- `add-to-simple-url-handler-mapping`: 设置为true时,会将OPTIONS请求添加到SimpleUrlHandlerMapping中进行处理,解决OPTIONS请求被拦截的问题。
- `allowed-origins`: 允许发送跨域请求的网站地址列表。在这个例子中,只允许来自`http://localhost:8080`网站发送跨域请求。
- `allowed-methods`: 允许的跨域请求方法列表。在这个例子中,允许使用GET、POST、DELETE、PUT和OPTIONS方法进行跨域请求。
- `allowed-headers`: 允许在请求中携带的头信息。设置为"*"表示允许携带任意头信息。
- `allow-credentials`: 是否允许携带cookie。设置为true时,允许在跨域请求中携带cookie信息。
- `maxAge`: 这次跨域检测的有效期,以毫秒为单位。在这个例子中,设置为360000毫秒(即6分钟)。
通过配置这些选项,你可以灵活地控制允许哪些网站发送跨域请求,使用哪些跨域请求方法,携带哪些头信息以及是否允许携带cookie。
希望对你有所帮助!如果有任何其他问题,请随时提问。
相关问题
gateway: routes: # 网关路由配置 - id: item-service uri: lb://itemservice predicates: # 路由断言,也就是判断请求是否符合路由规则的条件 - Path=/item**/** globalcors: # 全局的跨域处理 add-to-simple-url-handler-mapping: true # 解决options请求被拦截问题 corsConfigurations: '[/**]': allowedOrigins: # 允许哪些网站的跨域请求 - "http://localhost:9001" - "http://localhost:9002" - "http://127.0.0.1:9001" - "http://127.0.0.1:9002" allowedMethods: # 允许那种类型的跨域请求 - "GET" - "POST" - "DELETE" - "OPTIONS" - "PUT"为什么设置了这些后post请求http://localhost:10010/item依旧无法访问
这个配置中已经设置了全局的跨域处理,并且允许了四个来源的跨域请求,包括 GET、POST、DELETE、OPTIONS、PUT 这五种方法。如果在设置完这些之后,仍然无法访问 http://localhost:10010/item,那么可能是其他原因导致的。我们可以进一步排查这个问题,例如:
- 检查请求的路径是否正确,确保没有拼写错误或者其他问题;
- 检查目标服务是否正在运行,是否能够正常访问;
- 检查网关本身的配置是否正确,例如路由是否正确配置,是否有其他拦截器或者过滤器等等;
- 检查请求的参数和数据是否正确,是否符合目标服务的要求。
我们需要对这个问题进行更详细的排查才能找到具体的解决方法。
阅读全文