Сэрвіс адпраўляе OPTIONS preflight-запыт і GET-запыт з загалоўкам Origin: https://101ip.ru і аналізуе CORS-загалоўкі ў адказе сервера.
Access-Control-Allow-Origin — дамены, якім дазволены доступ (* — усім);Access-Control-Allow-Methods — дазволеныя HTTP-метады (GET, POST, PUT, DELETE…);Access-Control-Allow-Headers — дазволеныя загалоўкі запыту;Access-Control-Allow-Credentials — ці дазволены cookies і аўтарызацыя;Access-Control-Max-Age — час кэшавання preflight-адказу (секунды);Access-Control-Expose-Headers — загалоўкі, даступныя JS-коду на баку кліента.Значэнне Access-Control-Allow-Origin: * забараняе выкарыстанне Allow-Credentials: true. Браўзер заблакуе такі адказ. Для аўтэнтыфікаваных запытаў трэба ўказваць канкрэтную крыніцу.
Гэта азначае, што сервер не вяртае загаловак Access-Control-Allow-Origin і іншыя CORS-загалоўкі. Неабходна наладзіць серверную праграму (Nginx, Apache, IIS або код прыкладання) на дадаванне патрэбных загалоўкаў. Напрыклад, у Nginx можна дадаць дырэктыву add_header Access-Control-Allow-Origin *;. Пасля змены канфігурацыі паўторыце праверку на 101ip.ru, каб упэўніцца, што загалоўкі з'явіліся.
Preflight-запыт (OPTIONS) выкарыстоўваецца браўзерам для праверкі дазволеных метадаў і загалоўкаў перад асноўным запытам. Калі сервер не адказвае на OPTIONS або вяртае памылку (напрыклад, 403 або 500), CORS Checker паведамляе аб гэтым. Пераканайцеся, што сервер апрацоўвае OPTIONS-запыты і вяртае правільныя загалоўкі Access-Control-Allow-Methods і Access-Control-Allow-Headers.
Паглядзіце ў выніках CORS Checker значэнне загалоўка Access-Control-Allow-Credentials. Калі ён роўны true, сервер дазваляе перадачу кукіс і аўтарызацыйных даных. Звярніце ўвагу: пры гэтым Access-Control-Allow-Origin не можа быць зорачкай (*) — трэба ўказаць канкрэтную крыніцу. Калі загаловак адсутнічае або роўны false, кукісы перадавацца не будуць.