এনগিনেক্স .htaccess এবং লুকানো ফাইলগুলি অক্ষম করে তবে।-পরিচিত ডিরেক্টরিকে অনুমতি দেয়


16

আমার একটি এনগিনেক্স সার্ভার রয়েছে এবং এর মধ্যে লুকানো ফাইলগুলি অক্ষম করে nginx_vhost.conf

## Disable .htaccess and other hidden files
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }

তবে লেটসেক্রিপ্টের .well-knownডিরেক্টরিতে অ্যাক্সেস দরকার ।

আমি কীভাবে .well-knownডিরেক্টরিটিকে অনুমতি দেব এবং অন্যান্য লুকানো ফাইলগুলি অস্বীকার করব?


দ্রষ্টব্য: এনজিনেক্স .htaccessফাইল ব্যবহার করে না বা রাখে না । এটিতে কনফিগারেশন ফাইল রয়েছে তবে সেগুলি ডাকা হয় না .htaccessবা তারা একই কাজ করে না।
রব

উত্তর:


17

অন্যান্য সমাধানগুলি আমাকে সাহায্য করেনি।

আমার সমাধান অন্তর্ভুক্ত করা হয় নেতিবাচক Regex জন্য .well-known। আপনার কোড ব্লকটি এর পরে দেখতে হবে:

## Disable .htaccess and other hidden files
location ~ /\.(?!well-known).* {
    deny all;
    access_log off;
    log_not_found off;
}

এটি শুরু হওয়া ফাইলগুলি বাদে প্রতিটি ডট ফাইলকে ব্লক করে দেবে .well-known

পিএস: আমিও return 404;ব্লকে যুক্ত করব।


1
কি location ~* /\.(?!well-known\/) {হিসাবে দেখা github.com/h5bp/server-configs-nginx/blob/master/h5bp/location/... এই অভিন্ন location ~ /\.(?!well-known).* { ?
প্রো ব্যাকআপ 21

3
না এটি ঠিক একরকম নয়। /\.(?!well-known\/)আমার রেজেক্সের মতো ভাববাদী নয় (কারণ আমি সংজ্ঞা দ্বারা সুপরিচিত ব্যতীত সমস্ত ডট ফাইলগুলি ব্লক করি)। সম্ভবত location ~ /\.(?!well-known\/).*সেরাটি এমন একটি সংমিশ্রণ হতে পারে যা কেবল সুপরিচিত ডিরেক্টরিকে পরিবর্তে একটি তাত্ত্বিকও আনলক করে .well-known-blabla। তবে আমি মনে করি কোনও তাত্ত্বিককে অবরুদ্ধ না করার কোনও সত্য বিপদ নেই।
Therealmarv

এনগিনেক্স হ্যান্ডেল না করায় কেন এইচটিচেসি অক্ষম করবেন?
ওয়েবউইম্যান

3
হ্যাঁ আপনি @Wwwman ঠিকই বলেছেন তবে কখনও কখনও মিশ্র পরিবেশ থাকে। সত্যই প্রয়োজন না হলে কোনও ডট ফাইলই আমার মতে (.git এর মতো সুরক্ষিত বা ইতিহাসের অযাচিত উদ্ঘাটন) দেওয়া উচিত নয় unless
Therealmarv

16

এনগিনেক্সগুলি কনফিগারেশন ফাইলে তাদের উপস্থিতির ক্রম অনুযায়ী নিয়মিত প্রকাশের সাথে অবস্থানগুলি প্রয়োগ করে।

অতএব, আপনার বর্তমান অবস্থানের ঠিক আগে এ জাতীয় এন্ট্রি যুক্ত করা এটি আপনাকে সহায়তা করবে।

location ~ /\.well-known { 
    allow all;
}

আপনাকে ধন্যবাদ, এটি ঠিক আমার প্রয়োজন ছিল! সমস্ত ডটফাইলে অ্যাক্সেস অস্বীকার করার নিয়মের আগে এটি স্থাপন করা হয়েছে। আমি পরিবর্তন করেছি কেবলমাত্র বিন্দু থেকে বাঁচা, যেমন location ~ /\.well-known {। যেভাবেই হোক, এটি গ্রহণযোগ্য উত্তর হওয়া উচিত।
এক্সেল

8

আমি কীভাবে NGINX- এর সাথে এনক্রিন্ট ব্যবহার করতে পারি তা সম্পর্কে আমার ওয়েবসাইটে একটি পূর্ণ ধাপে ধাপে টিউটোরিয়াল সরবরাহ করেছি ।

মূল অংশগুলি হ'ল:

  • অফিসিয়াল ক্লায়েন্টটি ঠিক আছে, এবং অ্যামাজন লিনাক্সে সত্যই দুর্বল। আমি আলাদা ক্লায়েন্ট, এসিএমই সুপারিশ করি ।
  • আমার প্রস্তাবিত ক্লায়েন্ট সহ ওয়েবরুট পদ্ধতির জন্য এই অবস্থানটি ব্যবহার করুন। নোট করুন যে অনুরোধগুলি https নয়, HTTP- র মাধ্যমে পরিবেশন করা হয়েছে।

আপনার https ব্লকটিতে শ্রোতার দরকার নেই, এটি সবই https এ সম্পন্ন হয়েছে। এটি কেবলমাত্র আপনাকে ডোমেনকে নিয়ন্ত্রণ করার প্রমাণ করার জন্য, এটি ব্যক্তিগত বা গোপনীয় কোনও কিছুই সরবরাহ করে না।

# Answer let's encrypt requests, but forward everything else to https
server {
  listen       80;
  server_name  example.com www.example.com
  access_log  /var/log/nginx/access.log main;

  # Let's Encrypt certificates with Acmetool
  location /.well-known/acme-challenge/ {
    alias /var/www/.well-known/acme-challenge/;
  }

  location / {
    return       301 https://www.example.com$request_uri;
  }
}

উপরে লিঙ্কিত ধাপে ধাপে গাইড।


3

এটি যোগ করুন (আগে বা পরে):

location ^~ /.well-known/ {
        log_not_found off;
     }

আপনি এটি নীচেও যুক্ত করতে পারেন, কারণ ম্যাচিং ^~সংশোধক নিয়মিত অভিব্যক্তির চেয়ে অগ্রাধিকার নেয়। দেখুন ডক্স


0

আপনার কাছে যদি প্রচুর কনফিগার ফাইল থাকে এবং সেগুলিতে ইতিমধ্যে .htaccess এর মতো একটি অস্বীকার থাকে

location ~ /\.ht { deny all; }

তারপরে সমস্ত ডট ফাইল উপেক্ষা করার পরিবর্তে , আপনি সহজেই .git এর জন্য একটি দ্বিতীয় উপেক্ষা যুক্ত করতে পারেন

sed -i '/location ~ \/\\.ht { deny all; }/a \  location ~ \/\\.git { deny all; }' /etc/nginx/*
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.