Angular Preflight 请求添加标头
Posted
技术标签:
【中文标题】Angular Preflight 请求添加标头【英文标题】:Angular Preflight Request to Add Headers 【发布时间】:2021-07-03 01:28:18 【问题描述】:我有这个项目在 Angular 8 中运行,并且确实使用预检和实际 API 调用了 api。由于预检 OPTIONS 没有标头 Strict-Transport-Security: max-age=31536000;,我们的网络安全存在问题。 includeSubDomains 而实际的 GET api 有一个。
您是否知道如何以及在何处添加 Strict-Transport-Security: max-age=31536000; includeSubDomains 在 preflight 和实际请求下,以便两个请求具有相同的标头?
【问题讨论】:
【参考方案1】:这是将 HttpHeader 设置为请求的方式。
import Injectable from '@angular/core';
import Http, Headers from '@angular/http';
@Injectable()
export class HttpClient
constructor(private http: Http)
get(url)
let headers = new Headers();
headers.append('Transport-Security', 'max-age=31536000;includeSubDomains')
return this.http.get(url,
headers: headers
);
【讨论】:
我尝试将它添加到 httpclient 的标头中,但我遇到了 CORS 问题。但是当我删除它时没有CORS 您需要在服务器端启用CORS 修复在 FE 请求中应该是这样的,但在服务器中也应该设置以上是关于Angular Preflight 请求添加标头的主要内容,如果未能解决你的问题,请参考以下文章
Angular 6 - Spring MVC :: Options preflight request throws 500 internal Server Error