Вы получите сообщение об ошибке «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;
}
}