有问题,找到一种方法,如何正确配置前端应用程序的角9,消费背部REST网络服务。在带有静态IP的远程服务器上,我使用的是角驱动服务器(我知道这只是出于开发目的,但我想首先消除这个错误)。
ng serve --host 0.0.0.0 --port 80
这样我才能从外面进入。然后,我的django应用程序也与dev服务器在
127.0.0.1:8000
在角service.ts文件中,我试图注入标头
export class FlightService {
httpOptions = {
headers: new HttpHeaders({
'Access-Control-Request-Method':'GET',
'Access-Control-Request-Headers':'origin, x-requested-with, accept'
})
};
private endpoint = 'http://127.0.0.1:8000/services';
constructor(private http: HttpClient) { }
//GET All Services
getAllServices(): Observable<any>{
return this.http.get(this.endpoint, this.httpOptions)
}
}在我的django后端的settings.py中,我将corsheaders模块放在顶部:
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
...并且允许所有的主机(在用白名单尝试了很多事情之后,这些东西都不起作用:
CORS_ALLOW_CREDENTIALS = False
CORS_ALLOW_METHODS = [
# 'DELETE',
'GET',
'OPTIONS'
#'PATCH',
#'POST',
#'PUT',
]
CORS_ALLOW_HEADERS = [
'accept',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
'x-forwarded-for'
]但我总是失败。添加httpOptions后,在浏览器中得到错误:
"Access-Control-Request-Method" http.js:2403拒绝设置不安全的标头
同时:
"Access-Control-Request-Headers"拒绝设置不安全的标头
所以至少我知道它的角度是试图附加它。
请帮帮忙,怎么接近它?我想问题在客户端。我还尝试用一个代理来设置Nginx,使其成为append,但也未能在Nginx配置中附加标题。
发布于 2020-07-09 19:00:44
这些CORS标头不供您设置,如果浏览器检测到您试图访问跨域资源,它将自动进行设置。
https://stackoverflow.com/questions/62819214
复制相似问题