একটি উপ-ডিরেক্টরি বাদে সমস্ত অনুরোধ এইচটিটিপিএসে পুনর্নির্দেশ করুন


13

আমি স্ব-স্বাক্ষরিত শংসাপত্রগুলি থেকে আমার এনজিনেক্স ওয়েবসারভারে এনক্রিপ্ট শংসাপত্রগুলিতে স্থানান্তরিত করার চেষ্টা করছি।

বর্তমানে, আমি সমস্ত অনুরোধগুলিতে পুনঃনির্দেশ http/80করছি https/443, যা আমি কিছুক্ষণ আগে তৈরি একটি স্বাক্ষরিত শংসাপত্র ব্যবহার করে।

এখন - আমি যা বুঝি সে থেকে আসুন এনক্রিপ্ট 80 পোর্ট করার অনুরোধ জানায় (যেমন আমি webrootবিকল্পটি ব্যবহার করছি certbot)। এই অনুরোধগুলি পুনঃনির্দেশিত হয়েছে, যা শংসাপত্র জেনারেশনকে ব্যর্থ করে দেয়।

আমি নিম্নলিখিত সার্ভার ব্লক দিয়ে এটি অর্জনের চেষ্টা করেছি, পোর্ট ৮০ তে শুনছি:

server {
        listen  80;     
        server_name     sub.domain.tld;
        server_tokens   off;


        location /.well-known {
                root /var/www/letsencrypt;
        }

        location / {
                return 301 https://$host$request_uri;
        }
}

তবে অনুরোধগুলি যাইহোক /.well-knownপুনঃনির্দেশিত করা হবে https/443

আমি কিভাবে থেকে সব অনুরোধ পুনর্নির্দেশ করতে পারেন http/80করার https/443অনুরোধ ছাড়া, /.well-known/?


1
যতদূর আমি সচেতন আছি, webrootএর certbotবিকল্প প্লেইন HTTP প্রয়োজন।
সাআটমিক

2
আপনি কিভাবে পুনর্নির্দেশ পরীক্ষা করেছেন? আমার অনুমান যে আপনার ব্রাউজারটি আপনার ডোমেনের জন্য এইচএসটিএস শিরোনামকে সম্মান করে, তবে আসুন এনক্রিপ্ট বট এটিকে উপেক্ষা করবে। সাথে যোগাযোগ করুন wget/curl
আলেক্সি দশ

উত্তর:


17

এটা চেষ্টা কর:

server {
    listen  80;     
    server_name     sub.domain.tld;
    server_tokens   off;

    root /var/www/letsencrypt;

    location /.well-known {
        try_files $uri $uri/ =404;
    }

    location / {
        return 301 https://$host$request_uri;
    }
}

যেহেতু try_filesআপনার ভার্চুয়াল সার্ভারে কোনও প্রবেশ নেই , তাই অনুরোধগুলি আসার সাথে কী করণীয় তা তা জানত না /.well-known


2
locationছাড়া try_filesশুধু থেকে ফাইল পাঠায় rootডিরেক্টরি।
অ্যালেক্সি দশ

1
অদ্ভুত, আমার ঠিক একই অবস্থা এবং আমি ব্যবহার করি না try_filesএবং এটি আমার পক্ষে পুরোপুরি সূক্ষ্ম কাজ করে। আসলে আমার কাছে ঠিক একই কনফিগারেশন রয়েছে যা প্রশ্নে বলা হয়েছে। এর location /.well-known/পরিবর্তে কেবল পার্থক্য রয়েছে location /.well-known(পিছনের স্ল্যাশটি নোট করুন)। তাই সম্ভবত সমস্যা যেখানে thats?
ওলে কেল্ডারম্যান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.