Nginx বিপরীত প্রক্সি CSS বা ইমেজ পাস করে না


0

আমি এই সমস্যাটি গেগল করে ফেলেছি এবং অনেকগুলি রেফারেন্স পেয়েছি, তবে আমার কোনও কাজকর্ম বা সমাধানগুলি মনে হচ্ছে না। আমি একটি Nginx একটি প্রমাণীকরণের জন্য একটি SSL বিপরীত প্রক্সি হিসাবে অভিনয় একটি ডকার কনটেইনার আছে। আমি একটি Laravel অ্যাপ্লিকেশন পরিবেশন একটি Apache ধারক আছে। আমি সবসময় এইচটিএমএল কিন্তু কোন CSS বা ইমেজ পেতে। ক্রোমে আমি পেয়েছি:

রিসোর্স স্টাইলশীট হিসাবে ব্যাখ্যা করা হয়েছে কিন্তু MIME টাইপ টেক্সট / এইচটিএমএল দিয়ে স্থানান্তর করা হয়েছে:

এখানে nginx / সাইট / আমার ডিফল্ট.conf /

upstream app {
       server 172.18.0.6;
}
server {

listen 443 ssl default_server;
listen [::]:443 ssl default_server ipv6only=on;
server_name rocket.example.com localhost;
root /var/www/public;
index index.php index.html index.htm;
include /etc/nginx/mime.types;
 # tell users to go to SSL version this time
     if ($ssl_protocol = "") {
     rewrite     ^   https://$server_name$request_uri? permanent;
     }

 add_header Strict-Transport-Security "max-age=15768000";
 ssl_certificate /etc/nginx/rocket.crt;
 ssl_certificate_key /etc/nginx/rocket.key;
 ssl_dhparam /etc/nginx/rocket_dhparam.pem;
 ssl_session_cache shared:SSL:10m;
 ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
 ssl_prefer_server_ciphers on;
 ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128:AES256:AES:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK";
 error_page 497  https://$host:$server_port$request_uri;
 ssl_verify_client on;
 ssl_verify_depth 10;
 ssl_client_certificate /etc/nginx/allcerts.pem;


location / {
     try_files $uri $uri/ /index.php$is_args$args;
     include /etc/nginx/mime.types;
}

location ~ \.php$ {
        proxy_pass http://app;
        proxy_http_version 1.1;
        proxy_set_header Host $host:$server_port;
        proxy_set_header Referer $http_referer;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header X-Forwarded-Ssl on;
        proxy_set_header X-Nginx-Proxy true;
        proxy_set_header X-Client-Verify $ssl_client_verify;
        proxy_set_header X-Client-DN $ssl_client_s_dn;
        proxy_set_header X-SSL-Issuer $ssl_client_i_dn;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_redirect off;

        proxy_send_timeout 86400;
        proxy_read_timeout 86400;
        include /etc/nginx/mime.types;


}
    location ~ /\.ht {
    deny all;
    }
}

আমি যেমন উল্লেখ করেছি, অন্য কোন সমাধান কাজ করেনি। যে কেউ এই ভুল হতে পারে যে একটি ভুল দেখতে পারেন? আমি একই অবস্থানে উভয় অবস্থানে proxy_ নির্দেশাবলী রেখেছি। কোন সাহায্যের অত্যন্ত প্রশংসা হবে।

উত্তর:


0

Proxy_pass ধারণকারী অবস্থান শুধুমাত্র প্রক্সি পিএইচপি ফাইলগুলিতে সেট করা হয়। এখানে এই লাইন

location ~ \.php$ {   

আমি যে প্রথম জিনিসটি চেষ্টা করব তা সমগ্র ব্লকটি "অবস্থান /" ব্লকটিতে সরানো হচ্ছে।

আপনার https পুনর্লিখন একটি বিবৃতি ব্যবহার করে, যা আদর্শ নয় - পড়া " যদি মন্দ হয় "যদি আপনি ক্লায়েন্টদের https ব্যবহার করতে চান তবে সর্বোত্তম উপায় হল সার্ভারের একটি সিরিজ তৈরি করতে, যেমনটি এগিয়ে

# Forward non-www requests to www
server {
  listen       80;
  server_name  example.com www.example.com;
  access_log  /var/log/nginx/hr.access.log main buffer=128k flush=1m if=$log_ua;
  return       301 https://www.example.com$request_uri;
}

server {
  listen 443 ssl http2;
  server_name example.com;

  ssl_certificate /var/lib/acme/certs/***CERT_DIRECTORY/fullchain;
  ssl_certificate_key /var/lib/acme/certs//***CERT_DIRECTORY/privkey;

  # Set up preferred protocols and ciphers. TLS1.2 is required for HTTP/2
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_prefer_server_ciphers on;
  ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:!ADH:!AECDH:!MD5;

  access_log  /var/log/nginx/hr.access.log main buffer=128k flush=1m if=$log_ua;

  return 301 https://www.example.com$request_uri;
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.