PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : خطای Access to font at from origin has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.



p30pdf
January 8th, 2021, 23:01
با سلام و احترام

اساتید محترم بنده یک سرور مجازی دارم با سیستم عامل centos 7 دایرکت ادمین روش نصب شده و وب سرورش هم nginx_apache ست شده در دامین x از فونت های دامین y که هر دو دامین در یک سرور هستن استفاده میکنم ولی متاسفانه در کنسول مرورگر کروم و سایر مرورگر ها با خطای Access to font at from origin has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. مواجه می شوم به همین منظور از اساتید محترم درخواست راهنمایی دارم.
ناگفته نماند جستجو های زیادی انجام دادم ولی راه حلی پیدا نکردم که ناچار شدم که این موضوع رو ایجاد کنم و همچنین با درج کد زیر در htaccess یا درون httpd.conf هم مشکل حل نشد. چون این وب سرور فقط apache نیست دقیقا نمیدونم نحوه حلش به چه شکلیه



<FilesMatch "\.(ttf|otf|eot|woff|woff2)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch>

sam_pontiac
January 9th, 2021, 04:27
معمولا تو آپدیتهای جدید مرورگرها یک مقدار این موضوعات جدی تر گرفته شده و برای رفع مشکل CORS ، شما از سرور میزبان فایلتون ( سروری که فونت روش هست و فراخوانی انجام میده )، نمیتونید بصورت گلوبال ( * ) Allow کنید ( نه همیشه و بستگی به کانفیگ وبسرور هم داره )
بهترین راه این هست که تو ریشه اصلی هاست فایلتون، از طریق htaccess این اکسس کنترل رو صرفا برای دامنه‌ای که از فایلها قراره استفاده کنه allow کنید.
یعنی فایل شما روی دامنه Zfile.tld هست و سایت شما که قرار هست اون فایل رو فراخوانی کنه در Xfile.tld هست بعنوان مثال
شما باید htaccess موجود در Zfile.tld رو به شکل زیر :



Access-Control-Allow-Origin: http://Xfile.tld


تنظیم کنید.البته اگر جواب نگرفتید باید متدها و نوع درخواست رو هم مشخص کنید.
گاهی اوقات ممکنه نتیجه نده و مجبورید متدها مثل POST,GET و ... رو هم تعیین کنید یا یکسری هدرهای اضافی رو که تو درخواست به دامنه میزبان فایل ارسال میشه رو Unset کنید و ... الی آخر.
چون موارد بستگی به وب سرور و تنظیمات اون دارن ( گاهی اوقات تنظیمات لایت اسپید به یک شکلی ***** میکنه درخواستها رو و آپاچی به نوع دیگر) ، برای همین کلیات موضوع همین مواردی هست که خدمت شما گفتم.
یک وقت هم میبیند صرفا بدون اینکه خود دامنه درخواست دهنده رو تعریف کنید و همون گلوبال (*) رو در نظر بگیرید تو htaccess مشکل برطرف میشه.
در ضمن،اگر دامنه روی کلودفلر تنظیم شده حتما بعد از تغییرات Purge Cache کنید.
موفق باشید.

p30pdf
January 9th, 2021, 10:30
مدیر تنظیمات در زمانی که وب سرور روی دایرکت ادمین روی nginx_apache تنظیم شده باشه چی میشه ؟
مثلا زمانی که آپاچی وب سرور باشه میشه /etc/httpd/httpd.conf درست میگم ؟ وقتی nginx_apache باشه چی میشه ؟

میخوام این دستور رو درج کنم و یک تست به این شکل بگیرم



location ~* \.(eot|ttf|woff|woff2)$ {
add_header Access-Control-Allow-Origin *;
}