Блокировка запросов CORS

1. Sakh1CPRO 31.07.23 03:22 Сейчас в теме
Доброго дня, столкнулся с проблемой, публикация базы сделана через IIS, посылаю запросы в 1С по http, но CORS блокирует их, нашел статью где говорится что в файле публикации базы нужно прописать хэдер я прописал но уже появилась другая ошибка! , в файле публикации у меня прописано это:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="1С" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Program Files (x86)\1cv8\8.3.21.1674\bin\wsisapi.dll" resourceType="Unspecified" preCondition="bitness32" />
</handlers>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
<httpErrors errorMode="Detailed" />
</system.webServer>
</configuration>



-----------------------------------------------------

А при отправке запрос а на WEB сервер выходит ошибка:


Access to fetch at 'https://www.sakhpro.host:7777/KwiBOTwork/ru/hs/HTTPBot/sendFile?token=LHJ8676&file=https://w.forfun.com/fetch/74/74739e1770f31cdbfdde99cc0b2925d3.jpeg?&tel=79841390993' from origin 'https://helppc.pro' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.
WhatsApp.js:10


GET https://www.sakhpro.host:7777/KwiBOTwork/ru/hs/HTTPBot/sendFile?token=LHJ8676&file=https://w.forfun.com/fetch/74/74739e1770f31cdbfdde99cc0b2925d3.jpeg?&tel=79841390993 net::ERR_FAILED
tstjs @ WhatsApp.js:10
onclick @ (индекс):74
WhatsApp.js:32 Error: TypeError: Failed to fetch
at tstjs (WhatsApp.js:10:5)
at HTMLButtonElement.onclick ((индекс):74:57)



P.S. статья
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. SemandCheb 31.07.23 09:56 Сейчас в теме
при формировании запроса к http сервису вставьте параметр Access-Control-Allow-Origin=*
3. Sakh1CPRO 31.07.23 12:57 Сейчас в теме
(2)Выяснились новые моменты, код из приложения по запросу к ресурсу

"https://thingproxy.freeboard.io/fetch/https://www.test.host:7777/BD/ru/hs/HTTPBot/sendMessage?token=LHJ8676&text=привет&tel=79841390111",
{
method: "GET",
headers: {
'Authorization': 'Basic QWRtaW46ODg4MDE5',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Credentials' : 'true',
'Access-Control-Allow-Methods' : 'POST,GET,PUT,DELETE,OPTIONS',
'Access-Control-Allow-Headers' : 'X-Requested-With,content-type',

},
}

С прокси в начале адреса отправляет успешно запрос, но через раз к примеру 2 раза подряд отправил все ок а на 3й -7й ошибка CORS

Если убрать прокси вначале адреса то всегда ошибка CORS

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

P.S. фишка в том что если я делаю отправку GET запросов через сервис специальны то там всегда все отправляется без всяких проблем. https://reqbin.com/
4. SemandCheb 31.07.23 14:42 Сейчас в теме
В заголовке
headers: {
'Authorization': 'Basic QWRtaW46ODg4MDE5',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Credentials' : 'true',
'Access-Control-Allow-Methods' : 'POST,GET,PUT,DELETE,OPTIONS',
'Access-Control-Allow-Headers' : 'X-Requested-With,content-type',
},

Оставьте только
'Access-Control-Allow-Origin': '*'
5. Sakh1CPRO 31.07.23 16:11 Сейчас в теме
(4)не помогает
Прикрепленные файлы:
6. SemandCheb 02.08.23 08:39 Сейчас в теме
Можно попробовать так:
Ответ = Новый HTTPСервисОтвет(200);
Ответ.Заголовки.Вставить("Content-type", "application/json"); // тип данных в ответе - json
// Ответ.Заголовки.Вставить("Content-Type", "text/plain;charset=UTF-8"); // тип данных в ответе - html
Ответ.Заголовки.Вставить("Access-Control-Allow-Origin", "*"); // разрешаем загрузки из разных источников
// возможно надо еще установить следующие заголовки для броузера в зависимости от "Content-type" 
// Ответ.Заголовки.Вставить("Access-Control-Allow-Methods", "*");  
// Ответ.Заголовки.Вставить("Access-Control-Allow-Headers", "*"); 


более подробно про CORS можно прочитать на Хабре
Прикрепленные файлы:
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот