বেসওয়াক আথথ সাইটওয়াইডে সক্ষম করুন এবং এটি সাবপেজগুলির জন্য অক্ষম করবেন?


26

আমার তুলনামূলকভাবে সোজা ফরওয়ার্ড কনফিগার রয়েছে:

upstream appserver-1 {
    server unix:/var/www/example.com/app/tmp/gunicorn.sock fail_timeout=0;
}
server {
    listen  80;
    server_name  example.com;

    location / {
        proxy_pass http://appserver-1;
        proxy_redirect              off;
        proxy_set_header            Host $host;
        proxy_set_header            X-Real-IP $remote_addr;
        proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for;

        auth_basic                  "Restricted";
        auth_basic_user_file        /path/to/htpasswd;

    }

    location /api/ {
        auth_basic          off;
    }
}

লক্ষ্যটি সাবট্রি বাদে পুরো ওয়েবসাইটে মৌলিক লেখাগুলি ব্যবহার করা /api/। যদিও এটি মৌলিক লেখার প্রতি শ্রদ্ধা রেখে কাজ করে, অন্যান্য নির্দেশাবলী যেমন proxy_passতেমন কার্যকর হয় না /api/

অনুলিপি এবং সমস্ত কিছু কাস্ট না করে কেবল অন্য নির্দেশাবলী বজায় রেখে কেবল মৌলিক লেখককে অক্ষম করা সম্ভব?

উত্তর:


26

কীভাবে দুটি ফাইল?

/ proxy.conf অন্তর্ভুক্ত হবে:

proxy_pass http://appserver-1;
proxy_redirect              off;
proxy_set_header            Host $host;
proxy_set_header            X-Real-IP $remote_addr;
proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for;

এবং আপনার বর্তমান কনফ ফাইল:

upstream appserver-1 {
    server unix:/var/www/example.com/app/tmp/gunicorn.sock fail_timeout=0;
}
server {
    listen  80;
    server_name  example.com;

    location / {
        auth_basic                  "Restricted";
        auth_basic_user_file        /path/to/htpasswd;
        include includes/proxy.conf;
    }

    location /api/ {
        auth_basic          off;
        include includes/proxy.conf;
    }
}

9

কনফিগার ফাইল

এনগিনেক্স ১.৪.৪ এ আপনাকে সেটিংটির offজন্য চারপাশে উদ্ধৃতি প্রয়োজন auth_basic

location / {
    auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/passwd;
        include /etc/nginx/uwsgi_params;
        uwsgi_pass unix:/tmp/app.sock;
}

location /api {
    auth_basic "off";
        include /etc/nginx/uwsgi_params;
        uwsgi_pass unix:/tmp/app.sock;
}

আপনার htpasswd / passwd ফাইল তৈরি করা হচ্ছে

ইনস্টল করুন apache2-utils, একটি দুর্দান্ত সহায়ক অ্যাপ রয়েছে যা খুব দ্রুত আপনার জন্য htpasswd ফাইল তৈরি করে। http://httpd.apache.org/docs/2.2/programs/htpasswd.html

htpasswd -c -m <filename> <username>

এটি একটি নির্দিষ্ট অবস্থান বাদ দেয় এবং বাকি সাইটের জন্য একটি পাসওয়ার্ডের অনুরোধ জানায়। তবে আমি যদি 401 ত্রুটি পৃষ্ঠার পরিবর্তে বাতিল করতে ক্লিক করি তবে এটি আমাকে অনুরোধ করা প্রকৃত পৃষ্ঠাটি দেখায় তবে কোনও স্থিতিশীল ফাইল ছাড়াই।
এক্সেল

4

নীচে কনফিগারেশন আমার জন্য ডিস্ক থেকে কোনও ফোল্ডার ভাগ করে নেওয়ার জন্য ভাগ করে ফোল্ডারের কোনও প্রমাণীকরণ ছাড়াই এবং সাইটটির বাকী প্রয়োজনীয় প্রমাণীকরণের জন্য

server {
        listen       80;
        server_name  localhost;
        root C:\\Users\\Work\\XYZ\\;
        autoindex on;
        autoindex_exact_size off;
        autoindex_localtime on;
        auth_basic "Administrator Login";
        auth_basic_user_file C:\\Users\\Work\\.htpasswd;

        location /share {
            auth_basic "off";
            allow all; # Allow all to see content 
            alias C:\\Users\\sg32884\\Work\\share\\;
        }
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.