ওয়েবসার্ভার এলোমেলোভাবে বিভিন্ন vhosts পরিবেশন করে


9

আমরা উবুন্টু ট্রাস্টিতে এনজিনেক্স চালিয়েছি। এটি একটি আইপি ঠিকানায় চলমান https- র মাধ্যমে বেশ কয়েকটি ওয়েবসাইট পরিবেশন করে।

এলোমেলোভাবে, যদিও এটি কাজের লোডের সাথে সামান্য সম্পর্কিত বলে মনে হচ্ছে, কখনও কখনও একক অনুরোধগুলি ভুল ভোস্টটি চালু করে। এটি lustrum.thalia.nuদ্বারা সরবরাহ করা thalia.nuএবং তদ্বিপরীত থেকে অনুরোধ বাড়ে । এরপরে ব্যবহারকারীরা হঠাৎ করেই অন্য কোনও ওয়েব সাইটে শেষ হওয়ার সাথে সাথে দুষ্টু ত্রুটিযুক্ত পৃষ্ঠাগুলি দেয়। আপনি যখন টিপুন তখন F5ব্যবহারকারীরা আবার মূল টার্গেটে ফিরে আসবেন।

এটি ব্রাউজার বা অপারেটিং সিস্টেম সম্পর্কিত বলে মনে হচ্ছে না। এটি ফায়ারফক্স (লিনাক্স, উইন্ডোজ, ম্যাক), এজ (উইন্ডোজ) এবং ক্রোম (লিনাক্স, উইন্ডোজ, অ্যান্ড্রয়েড) এবং সাফারি (আইওএস) এ ঘটেছে বলে নিশ্চিত হয়ে গেছে।

সিস্টেমটি লোডের নিচে রাখার সময় সমস্যাটি আরও ঘন ঘন দেখা দেয় যা এক ধরণের রেসের শর্ত প্রস্তাব করে।

lustrum.thalia.nu

server {
        server_name lustrum.thalia.nu;

        listen 443 ssl;

        ssl on;
        ssl_certificate /etc/nginx/certs/lustrum.thalia.nu.crt;
        ssl_certificate_key /etc/nginx/certs/lustrum.thalia.nu.key;

        add_header Strict-Transport-Security "max-age=63072000; preload";

        root /var/www/thalia-lustrum/public_html;

        location / {
                index index.php;
                try_files $uri $uri/ /index.php?$args;
        }

        # Add trailing slash to */wp-admin requests.
        rewrite /wp-admin$ $scheme://$host$uri/ permanent;

        # Pass all .php files onto a php-fpm/php-fcgi server.
        location ~ [^/]\.php(/|$) {
                include         /etc/nginx/fastcgi_params;

                fastcgi_split_path_info ^(.+?\.php)(/.*)$;

                if (!-f $document_root$fastcgi_script_name) {
                        return 404;
                }

                fastcgi_pass    unix:/var/run/php5-fpm-thalia-lustrum.sock;
                fastcgi_index   index.php;
                fastcgi_param   SCRIPT_FILENAME  /public_html$fastcgi_script_name;
        }
}

thalia.nu

server {
        server_name thalia.nu;    
        listen 443 ssl;

        ssl on;
        ssl_certificate /etc/nginx/certs/www.thalia.nu.crt;
        ssl_certificate_key /etc/nginx/certs/www.thalia.nu.key;

        add_header Strict-Transport-Security "max-age=63072000; preload";

        root /var/www/thalia/public_html;

        location / {
                try_files $uri $uri/ /index.php/$request_uri;
                index index.php index.html index.htm;
        }

        location ~ \.php($|/) {
                include         /etc/nginx/fastcgi_params;
                set  $script     $uri;
                set  $path_info  "";
                if ($uri ~ "^(.+\.php)(/.+)") {
                                set  $script     $1;
                                set  $path_info  $2;
                }
                fastcgi_read_timeout    120;
                fastcgi_pass    unix:/var/run/php5-fpm-thalia-www.sock;
                fastcgi_index   index.php;
                fastcgi_param   SCRIPT_FILENAME  /public_html$fastcgi_script_name;
        }
}

আপনি দেখতে পাচ্ছেন, আমরা এই দুটি ডোমেনের জন্য আলাদা আলাদা PHP5-FPM পুল চালাচ্ছি। এই পুলগুলি বিভিন্ন ফোল্ডারে ক্রোটযুক্ত এবং বিভিন্ন ব্যবহারকারী হিসাবে চালিত হয়। পিএইচপি-এফপিএমের কনফিগারেশন যতদূর আমি বলতে পারি মোটামুটি মানসম্পন্ন।

আমরা nginx 1.4.6-ubuntu3 এবং nginx 1.8.0-1 + বিশ্বস্ত উভয়ই চেষ্টা করেছি।

লগ টেলিমেট্রি

266.266.266.266 - - [25/Nov/2015:09:24:40 +0100] "GET /committees/175 HTTP/1.1" 302 5 "https://thalia.nu/committees" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:42.0) Gecko/20100101 Firefox/42.0" Host: "thalia.nu" Location: "https://thalia.nu/index.php//committees/wp-admin/setup-config.php"

এই লাইনে আপনি দেখতে পাচ্ছেন যে পৃষ্ঠার জন্য অনুরোধটি /committeesহঠাৎ করে পুনঃনির্দেশিত হয়ে গেছে wp-admin। এটি প্রদর্শিত হয় যে অনুরোধটি পিএইচপি-এফপিএম পুল /committeesদ্বারা পরিচালিত হয়েছে thalia-lustrum...

ডিএনএস জোন ফাইল

এটি কীভাবে সম্ভবত প্রাসঙ্গিক হতে পারে আমরা তা দেখতে পাই না তবে ...

;; MX Records
thalia.nu.    300    IN    MX    20    relay.transip.nl.
thalia.nu.    300    IN    MX    10    ivo.thalia.nu.

;; TXT Records
thalia.nu.    300    IN    TXT    "v=spf1 a mx a:mulgore.hexon-is.nl a:moonray.hexon-is.nl a:fred.thalia.nu a:ivo.thalia.nu ~all"

;; SPF Records (Sender Policy Framework)
thalia.nu.    300    IN    SPF    "v=spf1 a mx a:mulgore.hexon-is.nl a:moonray.hexon-is.nl a:fred.thalia.nu a:ivo.thalia.nu ~all"

;; CNAME Records
lustrum.thalia.nu.    300    IN    CNAME    thalia.nu.

;; A Records (IPv4 addresses)
thalia.nu.    300    IN    A    131.174.31.8
www.thalia.nu.    300    IN    A    131.174.31.8
ivo.thalia.nu.    300    IN    A    131.174.31.8

1
প্লিজ ডোমেনগুলির জন্য আপনার ডিএনএস সেটিংস পরীক্ষা করে দেখুন।
হীরা

1
@ বাংগাল তারা একই আইটির দিকে ইশারা করে একটি এ এবং সিআইএম রেকর্ড। যদিও এটি কীভাবে সম্পর্কিত তা আমি দেখছি না; এই সমাধানগুলি ঠিক আছে, এবং কোনও ডিএনএস সমস্যা এতটা বেমানান হিসাবে প্রকাশ পাবে না বলেই মনে হয়।
জুস্ট করুন

2
@ থম উইগার্স, আপনি কি নিজের লগ ফাইলটিতে এইচডিপি Host:শিরোনাম এবং ব্যবহারকারী এজেন্টের সামগ্রী যুক্ত করতে পারবেন ? এখানে কিভাবে জন্য দেখুন: serverfault.com/questions/636790/... । আসলে আমি আপনার ওয়েবসাইটগুলিতে কিছু অনুরোধ করার চেষ্টা করেছি কিন্তু আপনার সমস্যার পুনরুত্পাদন করিনি। আপনি এটিকে পুনরুত্পাদন করার জন্য কোন ক্লায়েন্ট ব্যবহার করছেন?
ফ্রেডি

3
আমি ঠিক "তৃতীয় পক্ষের সামগ্রী ইনস্টল করা নেই" বা আপনি এতে কাজ করার কারণে কিছু পেয়েছি বা আমি অন্য কোনও পিএইচপি পুল বা অন্য কিছুতে (একই বাগটি ট্রিগার করে) শেষ করেছি কি? আমি config.phpনা পাওয়া সম্পর্কে একটি সংক্ষিপ্ত ত্রুটি পেয়েছি।
হাফগয়ার

2
@kasperd serverfault.com/questions/737349/... । এটি কেবল পিএইচপি স্ক্রিপ্টগুলিকেই প্রভাবিত করে বলে মনে হচ্ছে।
থম উইগার্স

উত্তর:


4

কয়েক ঘন্টা ধরে এই সমস্যাটি ডিবাগ করার পরে আমরা অবশেষে এটির কারণটি সনাক্ত করতে সক্ষম হয়েছি। এটি প্রদর্শিত হচ্ছে কারণটি নয় nginx, তবে পিএইচপি-এফপিএম। আমরা php5-fpmসংস্করণ চালাচ্ছি 5.5.9-1ubuntu4.14। এটি প্রদর্শিত হয় যে নতুন কর্মীদের কাঁটাচামানোর সময়, কখনও কখনও কিছু ভুল হয়ে যায় এবং শ্রমিকরা বিভিন্ন শ্রমিকের কোডটির (অংশ?) চালায়।

আমাদের সমাধানটি ছিল /etc/php5/fpm/php5-fpm.confতাদের নিজস্ব pool.dফোল্ডারগুলির সাথে বিভিন্ন অনুলিপিগুলিতে অনুলিপি করা , তারপরে /etc/init.d/php5-fpmনতুন কনফিগারেশন ফাইলের সাথে লঞ্চ করার জন্য অনুলিপি করা (এছাড়াও ফাইলগুলি তৈরি করা /etc/init/)। এর অর্থ এখন আমাদের কাছে php5-fpmপুল প্রতি একটি প্রক্রিয়া পরিচালক রয়েছে। পৃথক ক্রুট এবং সকেট থাকা জিনিসগুলিকে যথেষ্ট আলাদা রাখার জন্য উপস্থিত হয় না।


মনে রাখবেন যে এটি বর্তমানে আমাদের কনফিগারেশনে বা এই সংস্করণ পিএইচপি 5-এফপিএম-এর সমস্যা কিনা তবে এটি স্পষ্ট নয়, যদিও পরবর্তীকালে অনুরূপ প্রতিবেদনের অভাব দেখা যায় বলে মনে হয় না। যদি আমরা এই সমস্যাটির কারণ অনুসন্ধান করে শেষ করি তবে এই উত্তরটি আপডেট হবে।
জুস্ট

1

আমি একই সমস্যার মুখোমুখি আছি তবে ডেবিয়ানে অ্যাপাচি 2.4.25 এবং পিএইচপি 7.1-এফপিএম সহ। এখানে প্রক্রিয়াগুলি আলাদা করার একটি উপায় https://ma.ttias.be/a-better-way-to-run-php-fpm/

আমার মতো যারা এই সমস্যাটি ছোট ওয়েবসাইটগুলির জন্য খুব ভারী দেখতে পাচ্ছেন, php_admin_value[opcache.revalidate_freq] = 0পিএইচপি-এফপিএম পুল কনফিগারেশন ফাইলের শেষে যুক্ত করুন। তবে এটি পারফরম্যান্সগুলিতে মারাত্মক প্রভাব ফেলতে পারে ...

এখানে অফিশিয়াল বাগ রিপোর্ট রয়েছে: https://bugs.php.net/bug.php?id=67141


0

এনগিনেক্স কি এসএনআই সমর্থন করে? আপনি nginx -V চালাতে পারেন এবং টিএলএস এসএনআই সমর্থন সক্ষম করার মতো কিছু দেখতে হবে। যদি তা না হয়, যে পারে হতে কেন হোস্টনাম হ্যান্ডশেক পর পাঠানো হয় এবং আমি অভিমানী করছি কারণ আপনার * .thalia.nu জন্য একটি ওয়াইল্ড কার্ড সার্টিফিকেট আছে


অবশ্যই এটি করে, এসএনআই ছাড়াই এটি খুব মাঝে মাঝে পরিবর্তে 100% সময় হয়ে যায় go (এবং আমি এটিও পরীক্ষা করে দেখেছি, এটি অবশ্যই সক্ষম আছে)
থম উইগার্স

এফডাব্লুআইডাব্লু, নোট করুন যে আমরা কোনও ওয়াইল্ডকার্ড শংসাপত্র সরবরাহ করি না, তবে পৃথক সাবডোমাইনগুলির জন্য স্বতন্ত্র শংসাপত্র ব্যবহার করি use এটি প্রশ্নের তালিকাভুক্ত কনফিগারেশনের অন্তর্ভুক্ত।
জুস্ট

..although lustrum.thalia.nu শংসাপত্র এছাড়াও বৈধ Thalia.nu জন্য
থম Wiggers

আপনি কি এইভাবে সাবডোমেনস প্যারামিটার যুক্ত করার চেষ্টা করতে পারেন? add_header কঠোর-পরিবহন-সুরক্ষা "সর্বাধিক বয়স = 63072000; অন্তর্ভুক্ত সাবডোমাইনস; প্রিলোড";
মুগুরেল

@ থম উইগার্স যদি শংসাপত্রটি একাধিক ডোমেনের জন্য বৈধ হয় তবে এসএনআইয়ের প্রয়োজনীয়তা ছাড়াই একটি আইপিতে একাধিক ডোমেন সমর্থন করা সম্ভব।
ক্যাস্পারড

-1

দেখে মনে হচ্ছে শংসাপত্রটি সঠিক নয়: ফায়ারফক্স আমাকে বলছে যে এটি www.thalia.nu এর জন্য জারি করা হয়েছে, থ্যালিয়া ডানু নয়।

এটিই আইএমএইচও যা সমস্যা সৃষ্টি করছে। অন্য শংসাপত্র দিয়ে চেষ্টা করুন বা এসএসএল ছাড়াই এইচটিটিপি সংযোগগুলি সক্রিয় করার চেষ্টা করুন।


আমরা তা পুনরুত্পাদন করতে পারি না। শংসাপত্রটিতে এবং ছাড়াও উভয় ডোমেন অন্তর্ভুক্ত www.thalia.nuএবং thalia.nuএতে অন্তর্ভুক্ত www। আপনি ফায়ারফক্স সংস্করণটি কী ব্যবহার করছেন এবং কোন প্ল্যাটফর্মে?
বুড়ো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.