NgRx 在转到导致 CORS 错误的 HTTPS 之前做了一个奇怪的重定向到 HTTP

NgRx does an weird redirect to HTTP before go to HTTPS that's cause an CORS ERROR

我是 ngrx 新手,我想使用 NgRx 数据模块。我在一个堆栈中,Angular/Symfony 托管在 docker 中,使用 Traefik(https 模式)。

我想向名为的路由发出请求:https://xxx.xxxxxx.localhost/operations 这条路线通常会通过 angular 服务向我发送标准用法的操作列表。

但是当我调用这条路由时使用 NgRx 数据模块我有一个 CORS 错误。

NgRx 配置:

在 app.module.ts 中导入并配置我的自定义端点地址:

imports: [
  HttpClientModule,
  StoreModule.forRoot({}),
  StoreRouterConnectingModule.forRoot(),
  StoreDevtoolsModule.instrument({
   name: 'NgRx demo setup App',
  }),
  EffectsModule.forRoot([]),
  EntityDataModule.forRoot(entityConfig)
],
providers:[
  {
    provide: DefaultDataServiceConfig,
    useValue: {
       root: "https://xxx.xxxx.localhost/",
    }
  }
]

entityConfig.ts :

import {EntityMetadataMap} from '@ngrx/data';

const entityMetadata: EntityMetadataMap = {
  Operation: {},
};

export const entityConfig = {
  entityMetadata
};

我的操作-service.ts 与 NgRx :

import { Injectable } from '@angular/core';
import {EntityCollectionServiceBase, EntityCollectionServiceElementsFactory} from "@ngrx/data";

import {Operation} from "@models/entities/operation.model";

@Injectable({ providedIn: 'root' })
export class NgxOperationService extends EntityCollectionServiceBase<Operation> {
  constructor(serviceElementsFactory: EntityCollectionServiceElementsFactory) {
    super('Operation', serviceElementsFactory);
  }
}

调用组件:

ngOnInit() {
  this._operationServiceX.getAll()
}

在 Chrome 的网络面板中,我看到一个可疑的调用,它在执行我的 CORS 错误: 在它被调用之前 http://api.xxxx.localhost/operations/ that doing a redirect to https://api.xxxx.localhost/operations 我不知道为什么 NgRx 数据首先调用 HTTP 导致我的 CORS 错误。

Capture of network panel in chrome

谁能帮帮我?

这可能不是由 ngrx 数据引起的。 请确保您可以在不使用 ngrx 数据的情况下执行相同的请求。

服务器可能需要接受来自 angular 客户端的请求。