سلام به همه دوستان عزیز
من یه سایت لاراولی رو با nginx راه اندازی کردم و با http به خوبی کار میکرد. بعد از نصب ssl صفحات سایت با https هم لود میشه اما در زمان لود شدن فایلهای css و js صفحه سفید میشه و وقتی inspect میگیرم هدر و فوتر صفحه لود شده اما محتویات body به دلیل عدم لود کامل کدهای css و js حذف میشه و در کنسول inspector یه سری ارور میده مبنی بر عدم لود یه سری از کدهای css و js و مثل ()url و ... به این شکل:
patch-worker.js:36 Refused to create a worker from 'blob:https://example.com/fabe05f9-253c-404a-a13b-e1d8cb7a11d7' because it violates the following Content Security Policy directive: "script-src 'self'". Note that 'worker-src' was not explicitly set, so 'script-src' is used as a fallback.
(anonymous) @ patch-worker.js:36
(anonymous) @ patch-worker.js:135
patch-worker.js:36 Uncaught DOMException: Failed to construct 'Worker': Access to the script at 'blob:https://example.com/fabe05f9-253c-404a-a13b-e1d8cb7a11d7' is denied by the document's Content Security Policy.
at chrome-extension://pdknmigbbbhmllnmgdfalmedcmcefdfn/js/app/lib/patch-worker.js:36:23
at chrome-extension://pdknmigbbbhmllnmgdfalmedcmcefdfn/js/app/lib/patch-worker.js:135:3
(anonymous) @ patch-worker.js:36
(anonymous) @ patch-worker.js:135
example.com/:1 Refused to load the script 'https://www.google.com/recaptcha/api.js?hl=fa' because it violates the following Content Security Policy directive: "script-src 'self'".
example.com/:180 Refused to apply inline style because it violates the following Content Security Policy directive: "style-src 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-biLFinpqYMtWHmXfkA1BPeCY0/fNt46SAZ+BBk5YUog='), or a nonce ('nonce-...') is required to enable inline execution.
27Refused to load the font '<URL>' because it violates the following Content Security Policy directive: "default-src 'none'". Note that 'font-src' was not explicitly set, so 'default-src' is used as a fallback.
app.js:1 Refused to apply inline style because it violates the following Content Security Policy directive: "style-src 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='), or a nonce ('nonce-...') is required to enable inline execution.
initialize @ app.js:1
(anonymous) @ app.js:1
n @ app.js:1
(anonymous) @ app.js:1
n @ app.js:1
(anonymous) @ app.js:1
n @ app.js:1
(anonymous) @ app.js:1
n @ app.js:1
(anonymous) @ app.js:1
n @ app.js:1
(anonymous) @ app.js:1
(anonymous) @ app.js:1
app.js:1 Refused to apply inline style because it violates the following Content Security Policy directive: "style-src 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-OTeu7NEHDo6qutIWo0F2TmYrDhsKWCzrUgGoxxHGJ8o='), or a nonce ('nonce-...') is required to enable inline execution.
لطفاً اگه کسی میدونه مشکل رو چطور باید برطرف کنم راهنمایی کنه.
سلام
@hooman.harandi
پیشنهادم برای رهایی از ین دردسر ها نصب https://caddyserver.com/
و بعدش کد زیر را داخل Caddyfile بزارید و بعدش دستور caddy رو اجرا کنید.
localhost
header / {
Content-Security-Policy "style-src 'self'; script-src https://www.google-analytics 'self' data: blob: https:; img-src 'self' data: https:; font-src 'self' https: data: blob:; media-src 'self' https: data: blob:; connect-src 'self' https:; object-src 'none';"
X-Frame-Options SAMEORIGIN
X-Content-Type-Options nosniff
X-XSS-Protection "1; mode=block"
}
سلام به شما @amiralidev
ممنون از پاسخ شما. من هم در جستجوها بر خوردم به این مورد که اشاره کردید. منتها اول اینکه این فکر میکنم پولی هست و فقط برای پروژه های شخصی و تحقیقاتی میشه رایگان استفاده کرد و دوم اینکه میخوام بدونم لاراول چه راهی رو برای این پیشنهاد داده. این مشکلی نیست که لاراول به حل اون فکر نکرده باشه. چندین روش رو دیدم که مربوط به قبل بوده و وقتی امتحان کردم با لاراول 5.6 کار نمیکرد. به هر حال ممنون که راهنمایی کردید.
سلام @hesammousavi
خواستم بدونم شما چه روشی رو برای رفع این مشکل پیشنهاد میکنید؟ روی سایت راکت از چه روشی برای رفع این مشکل استفاده کردید؟
با تشکر
سلام من تا حالا به این ارور برنخوردم واقعیتش
تنظیمات nginx خودتون رو قرار بدید تا ببینیم به چه شکلیه
سلام مجدد و عرض خسته نباشید به @hesammousavi
مهندس جان فقط چون دارم سایت رو راه اندازی میکنم و هنوز حالت debug فعاله و در برخی جاها همراه با ارور داده های مهم نمایش داده میشه نام دامنه رو به example.ir تغییر دادم که بصورت عمومی منتشر نشه ;)
کدهای تنظیمات nginx:
server {
server_name example.ir www.example.ir;
root /var/www/example/public;
access_log /var/www/log/example.access.log;
error_log /var/www/log/example.error.log;
index index.php index.html index.htm index.nginx-debian.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
client_max_body_size 1024M;
location ~ .php$ {
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
include fastcgi_params;
}
location ~ /.well-known { allow all;
}
location ~* .(jpg|jpeg|gif|png|css|js|ico|html)$ {
access_log off;
expires max;
}
location ~ /.ht {
deny all;
}
listen [::]:443 ssl http2 ipv6only=on; # managed by Certbot
listen 443 ssl http2; # managed by Certbot
gzip off;
ssl_certificate /etc/letsencrypt/live/example.ir/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/example.ir/privkey.pem; # managed by Certbot
}
server {
if ($host = www.example.ir) {
return 301 https://$host$request_uri;
} # managed by Certbot
if ($host = example.ir) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80 default_server;
listen [::]:80 default_server;
server_name example.ir www.example.ir;
return 404; # managed by Certbot
}
ضمناً لازم به ذکره قبل از راه اندازی ssl کلیه قسمتهای سایت با موفقیت لود میشد و هیچ مشکلی وجود نداشت.
ممنونم از وقتی که صرف میکنید برای بررسی.
سلام . در تنظیمات هاست خوتون و ssl اون گزینه مربوط به ارتباط فایل های public_html با private_html رو فعال کنید
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟