0

バックエンド サーバーに接続するための API ゲートウェイとして Express Gateway を使用しています。フロント エンドは localhost:3000 で実行され、Express ゲートウェイは localhost:8080 で実行されます。フロント エンドからバック エンドにアクセスしようとすると、ブラウザで cors エラーが発生します。ただし、郵便配達員を使用すると、すべてうまくいきます。

私の gateway.config.yml (パイプラインは 1 つだけ)

user:
    apiEndpoints:
      - user
    policies:
      - cors:
        - action:
            origin: "*"
            credentials: true
            methods: ['GET','POST','PUT','DELETE']
            allowedHeaders: ['Content-type','Authorization','Origin','Access-Control-Allow-Origin','Origin', 'Accept', 'X-Requested-With', 'Content-Type', 'Access-Control-Request-Method', 'Access-Control-Request-Headers','Authorization', 'Access-Control-Allow-Origin','X-TEST']
            exposedHeaders : ['Content-type','Authorization','Origin','Access-Control-Allow-Origin','Origin', 'Accept', 'X-Requested-With', 'Content-Type', 'Access-Control-Request-Method', 'Access-Control-Request-Headers','Authorization', 'Access-Control-Allow-Origin','X-TEST']
            preflightContinue: true
      - jwt:
        - action:
            secretOrPublicKey: 'secret'
            checkCredentialExistence: false
      - request-transformer:
        - action:
            body:
              add:
                user: req.user
      - proxy:
        - action:
            serviceEndpoint: noAuthService

次のエラーが表示されます。

Access to XMLHttpRequest at 'http://localhost:8080/api/user/31a19f8a-c76d-4051-a944-dad1b676c550' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

この問題を解決する方法はありますか???

4

1 に答える 1