Прокси для нескольких путей угловой - PullRequest
0 голосов
/ 30 марта 2019

Я пытаюсь прокси к определенной конечной точке API, которая возвращает HTML-страницу, но я получаю ошибку Access to font at 'https://data.domain.com/v3/assets/fonts/glyphicons-halflings-regular.woff2' from origin 'http://localhost:4200' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

GET https://data.domain.com/v3/assets/fonts/glyphicons-halflings-regular.woff2 net::ERR_FAILED

Внутри моего углового приложения у меня есть три разные цели, к которым я приближаюсь. Первые два прокси работают нормально, но другой немного странный. Мой proxy.conf.json файл выглядит вот так ...

{
  "/API": {}, // First proxy works fine
  "/info": {}, // Second proxy fine too
  "/data": {
    "target": "https://data.domain.com/v3/uk",
    "secure": false,
    "pathRewrite": {
      "^/data": ""
    },
    "changeOrigin": true,
    "logLevel": "debug"
  }
}

Итак, внутри моей службы данных я определяю переменную data, которая содержит путь '/data', и передаю его как путь в моем запросе POST, например ...

private data = '/data';

public fetchData(data: Data) {
  return this.http.post(this.data, data, {responseType: 'text');
}

После выполнения этого пост-запроса я ожидаю, что возвращаемое значение будет некоторым HTML-кодом, который я хотел бы привязать к моему шаблону. В этом и заключается проблема. Видите ли, возвращенный HTML выглядит примерно так ...

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>My Page</title>
        <!-- Bootstrap -->
        <link href='https://fonts.googleapis.com/css?family=Ubuntu:300' rel='stylesheet' type='text/css'>
        <link href="https://data.domain.com/v3/assets/css/bootstrap.min.css" rel="stylesheet">
        <link href="https://data.domain.com/v3/assets/css/loading-bar.min.css" rel="stylesheet">
        <link href="https://data.domain/v3/assets/css/custom.css" rel="stylesheet">
    </head>
    <body
        <p class="title">Page Title</p>
    </body>
</html>

Видишь импорт начальной загрузки? Я думаю, что это является причиной проблемы, потому что внутри кода bootstrap.min.css ссылки на шрифт glyphicons-halflings-regular сделаны так ...

url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype')

Следовательно, для каждого из этих форматов шрифта я получаю ту же самую ошибку, повторенную. Как я могу решить это?

...