এইচটিটিপি / এইচটিটিপিএস প্রক্সি সার্ভার হিসাবে এনগিনেক্স কীভাবে ব্যবহার করবেন? [বন্ধ]


16

এইচটিটিপি / এইচটিটিপিএস প্রক্সি হিসাবে Nginx ব্যবহার করা কি সম্ভব?

উত্তর:


14

কিছু পরীক্ষার পরে, আমি নিম্নলিখিত কনফিগারেশনটি আমার জন্য কাজ করেছি found

server {
  server_name ~^(www\.)?(?<domain>.+)$;
  access_log /var/log/nginx/proxy.access.log main;
  error_log /var/log/nginx/proxy.error.log crit;
  listen 10.255.1.13:8080;
  resolver 8.8.8.8;
  location / {
    proxy_pass http://$domain;
    proxy_redirect off;
    proxy_set_header Host $host;
    # Optional headers 
    # proxy_set_header X-Real-IP $remote_addr;
    # proxy_set_header X-Forwarded-For
    # $proxy_add_x_forwarded_for;
  }
}

এই কনফিগারেশনটি কেবল এইচটিটিপিএসের জন্য কাজ করে, এইচটিটিপিএসের জন্য নয়।


4
সাবাশ! কয়েকটি ইঙ্গিত। 1: listen ... default_server। 2: server_name ""বা server_name _। 2: proxy_pass $scheme://$http_host। সীমাবদ্ধতা: কেবল 80 বন্দর দিয়ে প্রবাহিত প্রবাহে; পুনর্নির্দেশগুলি নিজেই প্রক্রিয়া করে না।
আলেকজান্ডার আজারভ

$ স্কিমটি কেবলমাত্র তখনই কার্যকর যদি ভোস্ট https তেও শোনেন - তবে তারপরে আপনি মাঝারি ঝুঁকিতে থাকা মানুষ এবং https শংসাপত্রের ত্রুটিগুলির সাথে লড়াই করতে পারেন ... উভয়ই বিবেচনার জন্য বড় সুরক্ষিত বিষয়
অ্যান্তোনিসোমারসেট

8

আমি মনে করি সংক্ষিপ্ত উত্তরটি হ'ল না, এটি ফরোয়ার্ড প্রক্সিংয়ের জন্য লেখা হয়নি

হালনাগাদ

উপরে আমার বক্তব্য স্পষ্ট করতে:

এনজিআইএনএক্স কখনই ফরোয়ার্ড প্রক্সিংয়ের কথা মাথায় রেখে লেখা হয় নি - যদিও এটির কাজটি যা করতে চান তা করার জন্য কোনওভাবেই জেরি জেরি রিং করা সম্ভব, আপনাকে নিম্নলিখিত সীমাবদ্ধতাগুলি বুঝতে হবে:

  • ক্যাশে প্রায় অস্তিত্বহীন সমর্থন করে (প্রক্সি ব্যবহারের অন্যতম প্রধান কারণ)
  • ৮০ টি ট্র্যাফিক ব্যতীত অন্য যে কোনও কিছুর জন্য ব্যবহার করতে পারবেন না (যেমন এর মাধ্যমে সিপ্যানেল বাক্সগুলিতে লগইন করা হয়নি)
  • এসএসএল ভিত্তিক ট্র্যাফিকের জন্য কোনও সমর্থন নেই
  • প্রমিত প্রক্সি শিরোনাম এবং HTTP ক্যাশে শিরোলেখগুলির জন্য কোনও সমর্থন নেই (আমার বোঝার বিষয় যে এগুলি কেবল পাস হয়ে যায়
  • প্রক্সি সার্ভারগুলিকে সমর্থন করে এমন অন্যান্য প্রোটোকলের জন্য কোনও সমর্থন নেই - যেমন ভিপিএন ইত্যাদি

এই সময়ে অজানা সম্ভাব্য অন্যান্য বিবেচনাগুলি:

  • আপনার প্রক্সিটি দানযোগ্য অ্যাক্সেস নিয়ন্ত্রণ / প্রমাণীকরণের জরিমানা করার বাস্তব ক্ষমতা হিসাবে ডক্স করা সম্ভব (এনগিনেক্সের অ্যাক্সেস নিয়ন্ত্রণের বিভিন্ন পদ্ধতির পক্ষে সমর্থন রয়েছে তবে এটি কীভাবে সামনের প্রক্সি প্রসঙ্গে আচরণ করতে পারে তা অস্পষ্ট)
  • Nginx ইনস্টল থাকা মেশিনটিতে সম্ভাব্য সুরক্ষা ঝুঁকি রয়েছে কারণ সম্ভবত এটি চালানোর জন্য ডিজাইন করা হয়নি এমন পদ্ধতিতে ব্যবহারের কারণে সম্ভবত সুরক্ষা গর্তগুলি বিবেচনা করা হয়নি


সম্ভবত আমার উত্তরটি আরও স্পষ্ট হওয়া উচিত এটি প্রক্সিং করার জন্যই নকশাকৃত ছিল না - বানরের প্যাচ প্রয়াসগুলি অ-স্ট্যান্ডার্ড (পোর্ট 80) বন্দরগুলিতে
প্রক্সিং

3

আপনি যদি কোনও HTTP / HTTPS প্রক্সি ব্যবহার করতে চান তবে আপনার স্কুইড ব্যবহার করা উচিত। ঠিক তা করতেই এটি লেখা হয়েছিল। এনগিনেক্স বিপরীত প্রক্সি এবং লোড ব্যালেন্সার হিসাবে কাজ করার জন্য লেখা হয়েছিল, তবে ফরোয়ার্ড প্রক্সি নয়।


আমি স্কুইড / ওফস / টিনিপ্রক্সি / ইত্যাদি সম্পর্কে জানি। আমি কেবল একাডেমিক আগ্রহের স্বার্থে এই প্রশ্নটি জিজ্ঞাসা করি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.