Заблокирована проблема политики CORS при настройке sawtooth-explorer - PullRequest
0 голосов
/ 18 января 2020

Я настраиваю sawtooth-seth, используя , это руководство . После установки sawtooth-seth я попытался подключить его к sawtooth-explorer . И sawtooth-seth, и sawtooth-explorer успешно работают на docker. Но пилообразный проводник не соединяется с пилообразным сетом. Я получаю следующую ошибку политики cors заблокирован.

Access to XMLHttpRequest at 'http://localhost:8080/transactions?limit=10' from origin 'http://localhost:4200' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
explorer.component.ts:210 Error fetching items from API (transactions):  

Помогите мне исправить эту ошибку.

1 Ответ

0 голосов
/ 11 марта 2020

Вы получите сообщение об ошибке «Bad Gateway 502» из Nginx в контейнере Docker, если попытаетесь извлечь транзакции с помощью sawtooth-explorer.

Чтобы решить проблему CORS для передачи http-прокси, вам нужно определить порт в файле nginx .conf для отправки запроса GET на порт вашего nginx в Docker контейнере.

Например, если ваш Sawtooth rest-api подключен к порту 8024, тогда Вы можете настроить sawtooth-explorer-rest-api-proxy для использования также порта 8024 в вашем файле nginx .conf для передачи http-прокси.

Вот выдержка из файла docker -compose.yaml для rest-api

docker -compose.yaml

rest-api:
    image: hyperledger/sawtooth-rest-api:1.0
    container_name: supply-rest-api
    expose:
      - 8008
    ports:
      - '8024:8008'
    depends_on:
      - validator
    entrypoint: |
      sawtooth-rest-api -vv
        --connect tcp://validator:4004
        --bind rest-api:8008

Пилообразный проводник имеет отношение nginx конфигурация в папке docker.

nginx .conf

    server {
        listen 8090;
        add_header Pragma no-cache always;
        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Allow-Methods 'GET, OPTIONS';
        add_header Access-Control-Allow-Headers 'X-XSRF-TOKEN,DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';

        location / {
          #proxy_pass http://localhost:8008;
          proxy_pass http://192.168.3.10:8024;
          proxy_read_timeout 5000;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection $connection_upgrade;
        }
    }
...