Hoom@n
6 سال پیش توسط Hoom@n مطرح شد
6 پاسخ

مشکل در راه انداز ی SSL

سلام به همه دوستان عزیز

من یه سایت لاراولی رو با 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.

لطفاً اگه کسی میدونه مشکل رو چطور باید برطرف کنم راهنمایی کنه.


ثبت پرسش جدید
امیرعلی کلانتری پور
تخصص : Laravel, Reactjs, ReactNative,...
@amiralidev 6 سال پیش مطرح شد
2

سلام
@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"
}

Hoom@n
@HSHH 6 سال پیش مطرح شد
0

سلام به شما @amiralidev
ممنون از پاسخ شما. من هم در جستجوها بر خوردم به این مورد که اشاره کردید. منتها اول اینکه این فکر میکنم پولی هست و فقط برای پروژه های شخصی و تحقیقاتی میشه رایگان استفاده کرد و دوم اینکه میخوام بدونم لاراول چه راهی رو برای این پیشنهاد داده. این مشکلی نیست که لاراول به حل اون فکر نکرده باشه. چندین روش رو دیدم که مربوط به قبل بوده و وقتی امتحان کردم با لاراول 5.6 کار نمیکرد. به هر حال ممنون که راهنمایی کردید.


Hoom@n
@HSHH 6 سال پیش آپدیت شد
0

سلام @hesammousavi

خواستم بدونم شما چه روشی رو برای رفع این مشکل پیشنهاد میکنید؟ روی سایت راکت از چه روشی برای رفع این مشکل استفاده کردید؟

با تشکر


حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 6 سال پیش مطرح شد
1

سلام من تا حالا به این ارور برنخوردم واقعیتش
تنظیمات nginx خودتون رو قرار بدید تا ببینیم به چه شکلیه


Hoom@n
@HSHH 6 سال پیش آپدیت شد
0

سلام مجدد و عرض خسته نباشید به @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 کلیه قسمتهای سایت با موفقیت لود میشد و هیچ مشکلی وجود نداشت.
ممنونم از وقتی که صرف میکنید برای بررسی.


Ali Hamrani
@ali.hamrani 6 سال پیش مطرح شد
0

سلام . در تنظیمات هاست خوتون و ssl اون گزینه مربوط به ارتباط فایل های public_html با private_html رو فعال کنید


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام