Мне нужна помощь с заголовками CORS и настройкой HAProxy.
Я добавил следующее в конфигурации haproxy:
# Add CORS headers when Origin header is present
capture request header origin len 128
http-response set-header Access-Control-Allow-Origin %[capture.req.hdr(0)] if { capture.req.hdr(0) -m found }
http-response set-header Access-Control-Allow-Methods GET,\ HEAD,\ OPTIONS,\ POST,\ PUT if { capture.req.hdr(0) -m found }
http-response set-header Access-Control-Allow-Credentials true if { capture.req.hdr(0) -m found }
http-response set-header Access-Control-Allow-Headers X-Stream-Output,\ X-Chunked-Output,\ X-Content-Length if { capture.req.hdr(0) -m found }
http-response set-header Access-Control-Expose-Headers X-Stream-Output,\ X-Chunked-Output,\ X-Content-Length if { capture.req.hdr(0) -m found }
Кажется, он возвращает заголовки CORS в браузер, но япо-прежнему получает 403 Запрещено на вызовы JSON из браузера.Вот URL-адрес, по которому я пытаюсь позвонить:
https://ipfs.blockchaingraph.org:5001/api/v0/cat/QmdKPs1N6gH3R62BGssakAaEdFv14rp6fVVQy36yzdFQdT
Когда я пытаюсь вызвать аналогичный запрос третьей стороны, он работает просто отлично:
https://ipfs.infura.io:5001/api/v0/cat/QmdKPs1N6gH3R62BGssakAaEdFv14rp6fVVQy36yzdFQdT
Я сравнил заголовки обоих ответов.Оба выглядят одинаково.Я озадачен тем, что мне здесь не хватает.
Я подозреваю, что внутренний сервер блокирует запросы на основе некоторых заголовков.Я попытался удалить Origin: "http-request del-header Origin", но это не помогло