Это работает в почтальоне.
GET
http://3.0.253.143:3000/file-upload/7uvaAJgJrneitgywJ/_png.png
с заголовком X-User-Id и X-Auth-Token
В dev на localhost я получаю
Access to fetch at 'http://3.0.253.143:3000/file-upload/7uvaAJgJrneitgywJ/_png.png' 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. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
Мой код:
fetch('http://3.0.253.143:3000/file-upload/7uvaAJgJrneitgywJ/_png.png', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'X-User-Id': ******,
'X-Auth-Token': *******,
'Access-Control-Allow-Credentials': 'true',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET, POST, OPTIONS',
}
});
В Rocket Chat, в общих и остальных API, cors включен, а origin установлен на *.
В S3 я добавил:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Использование расширения Chrome для разрешения Cors, https://chrome.google.com/webstore/detail/allow-cors-access-control/lhobafahddgcelffkeicbaginigeejlf
Я все еще получаю эту ошибку:
Access to fetch at 'http://3.0.253.143:3000/file-upload/7uvaAJgJrneitgywJ/_png.png' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.
Обновление:
С токеном и без него я получаю одинаковую ошибку CORS. Возвращенный код состояния запрещен 403. В почтальоне я получаю 403 без токена, и он отлично работает с токеном.