آفلاین
user-avatar

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

9 ماه پیش
توسط reza gerami آپدیت شد
آفلاین
user-avatar
Hoom@n ( 4589 تجربه )
2 سال پیش

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

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

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

آفلاین
user-avatar
امیرعلی کلانتری پور ( 1336 تجربه )
2 سال پیش
تخصص : Laravel, Reactjs, ReactNative, Wordpress, Script Kiddie

سلام
@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"
}
آفلاین
user-avatar
Hoom@n ( 4589 تجربه )
2 سال پیش

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

آفلاین
user-avatar
Hoom@n ( 4589 تجربه )
2 سال پیش

سلام @hesammousavi

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

با تشکر

آنلاین
user-avatar
حسام موسوی ( 382959 تجربه )
2 سال پیش
تخصص : طراح و برنامه نویس

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

آفلاین
user-avatar
Hoom@n ( 4589 تجربه )
2 سال پیش

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

آفلاین
user-avatar
Ali Hamrani ( 1208 تجربه )
2 سال پیش

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

برای ارسال پاسخ باید وارد سایت شوید