Nginx এসএসএল সহ পুরানো ডোমেন থেকে নতুনে পুনর্নির্দেশ


10

আমি থেকে আমার সাইটের জন্য ডোমেইন নাম পরিবর্তন করার চেষ্টা করছি https://www.myolddomain.se/করারhttps://www.mynewdomain.se/

সমস্যাটি হ'ল আমার পুরানো ডোমেনের জন্য আমি সমস্ত পৃষ্ঠায় এসএসএলকে বাধ্য করেছি এবং সেইজন্য গুগল এবং অন্যান্য সাইটের সমস্ত লিঙ্ক https এর সাথে লিঙ্ক হয়েছে। আমি যখন কোনও https লিঙ্ক থেকে পুরানো ডোমেনটি দেখার চেষ্টা করি তখন আমি শংসাপত্রের ত্রুটি পাই। সুতরাং আমার প্রশ্নটি হল: এই ত্রুটিটি না পেয়ে আমি কীভাবে https এর সাথে লিঙ্কযুক্ত সমস্ত পৃষ্ঠাগুলি অন্য https সুরক্ষিত ডোমেনে, এনগিনেক্সে পুনর্নির্দেশ করতে পারি?

আমি কিছু গবেষণা করেছিলাম এবং ওয়েব পৃষ্ঠাগুলি পুনর্নির্দেশের জন্য এই সমাধানটি পেয়েছি, যা এখন আমার কনফিগার ফাইলে isোকানো হয়েছে। তবুও পেয়েছি শংসাপত্রের ত্রুটি!

server {
        server_name .myolddomain.se;
        return 301 https://www.mynewdomain.se$request_uri;
}

তবে আমি এটি কাজ করতে পারি না! যদি কেউ উত্তর নিয়ে আসতে পারে তবে আমি খুব কৃতজ্ঞ হব

উত্তর:


11

সমাধান ক্লায়েন্ট ক্ষমতা, আপনার বাজেট এবং আর্কিটেকচার বৈশিষ্ট্য উপর নির্ভর করে।

1. যদি উভয় ডোমেন একই আইপি ঠিকানায় হোস্ট করা থাকে এবং আপনার অন্য কোনওটি থাকতে পারে না:

যদি ক্লায়েন্ট টিএলএস এসএনআই এক্সটেনশন সমর্থন করে:

server {
    listen X.X.X.X:443 ssl;
    ssl_certificate /path/to/myolddomain.cert;
    ssl_certificate_key /path/to/myolddomain.key;
    server_name .myolddomain.se;
    return 301 https://www.mynewdomain.se$request_uri;
}


server {
    listen X.X.X.X:443 ssl;
    ssl_certificate /path/to/mynewdomain.cert;
    ssl_certificate_key /path/to/mynewdomain.key;
    server_name .mynewdomain.se;

    [ ... ] # Your stuff

}

যদি এটি x509 এক্সটেনশানটি না বোঝে SubjectAltNameএবং আপনি একটি নতুন শংসাপত্র উত্পন্ন করতে সক্ষম হন তবে উভয় ডোমেনের জন্য একটি অনন্য শংসাপত্রের জন্য জিজ্ঞাসা করুন। কনফিগারেশনটি দেখতে হবে:

server {
    listen X.X.X.X:443 ssl default_server;
    ssl_certificate /path/to/domain.cert;
    ssl_certificate_key /path/to/domain.key;
    server_name _;
}

server {
    listen X.X.X.X:443;
    server_name .myolddomain.se;
    return 301 https://www.mynewdomain.se$request_uri;
}


server {
    listen X.X.X.X:443;
    server_name .mynewdomain.se;

    [ ... ] # Your stuff

}

২. প্রতিটি ডোমেইন যদি স্বতন্ত্র আইপি ঠিকানায় থাকে বা যদি একই থাকে তবে আপনার কাছে অন্য একটি থাকতে পারে

সর্বাধিক জেনারিক সমাধান, দুটি পৃথক আইপি শুনুন (সাধারণত একটি অতিরিক্ত পাবলিক আইপি "কেবল" আপনার হোস্টিং সরবরাহকারীর কাছে কেনার বিকল্প):

server {
    listen X.X.X.X:443 ssl;
    ssl_certificate /path/to/myolddomain.cert;
    ssl_certificate_key /path/to/myolddomain.key;
    server_name .myolddomain.se;
    return 301 https://www.mynewdomain.se$request_uri;
}

server {
    listen Y.Y.Y.Y:443 ssl;
    ssl_certificate /path/to/mynewdomain.cert;
    ssl_certificate_key /path/to/mynewdomain.key;
    server_name .mynewdomain.se;

    [ ... ] # Your stuff

}

1
তোমাকে অনেক ধন্যবাদ! এই উত্তরটি আমার পক্ষে নিখুঁতভাবে কাজ করেছে এবং আমি এর চেয়ে আরও বিশদ উত্তর চাইব না। আমি খুব কৃতজ্ঞ, ধন্যবাদ!
ব্যবহারকারী 246341
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.