অ্যাপাচি - কেবলমাত্র আইপি নয়, নির্দিষ্ট ডোমেনে শুনুন


9

আমি অ্যাপাচি কীভাবে কনফিগার করব যাতে এটি সংযোগগুলি সরাসরি আইপি ঠিকানায় ( http://xxx.xxx.xxx.xxx ) ভোস্ট নামের পরিবর্তে http://example.com এর পরিবর্তে প্রত্যাখ্যান করে ?

আমার ভার্চুয়ালহোস্ট কনফিগারেশন:

ServerName example.com

<VirtualHost *:80>

        ServerName example.com

        DocumentRoot /var/www/           
        <Directory /var/www/>                    
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

</VirtualHost>

উত্তর:


25

আপনার এটির সংযোগগুলি অস্বীকার করতে পারবেন না, যেহেতু ক্লায়েন্ট প্রকৃতপক্ষে কোনও HTTP অনুরোধ না পাঠায় ততক্ষণ পর্যন্ত হোস্ট-নেম (বা আইপি) ব্যবহারকারী তাদের এইচটিটিপি হোস্ট হিসাবে সার্ভারের সাথে পরিচিত নয়। টিসিপি শ্রোতা সর্বদা আইপি ঠিকানায় আবদ্ধ থাকে।

পরিবর্তে কি এইচটিটিপি ত্রুটির প্রতিক্রিয়া গ্রহণযোগ্য হবে?

<VirtualHost *:80>
    ServerName catchall
    <Location />
        Order allow,deny
        Deny from all
    </Location>
</VirtualHost>

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/
    <Directory /var/www/>
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

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

3
@ অ্যালেক্স না, এটি সম্পূর্ণ অসম্ভব। টিসিপি সংযোগটি অবশ্যই স্থাপন করা উচিত এবং ক্লায়েন্টকে তাদের এইচটিটিপি অনুরোধে ডোমেন নাম বা আইপি ঠিকানাটি আঘাত করার চেষ্টা করছে কিনা তা নির্ধারণের জন্য সার্ভারের কোনও উপায় থাকার আগে ক্লায়েন্টকে অবশ্যই তাদের এইচটিটিপি অনুরোধটি (বা তাদের এসএনআই শিরোনাম, আমি অনুমান) প্রেরণ করতে হবে ।
শেন ম্যাডেন

@ শানেমেডেন সম্পূর্ণ অসম্ভব? আমি বুঝতে পেরেছি যে সার্ভারটির ব্যবহারকারীর আইপিটি জানা উচিত আগে এটি দিয়ে কী করা উচিত, তবে এটির পরিচয়টি জানার পরে এই হিটটির প্রতিক্রিয়া জানানো সম্পূর্ণ অসম্ভব? সার্ভার কি সময়ক্ষণ না হওয়া পর্যন্ত সংযোগটি স্থগিত করতে পারে না?
হেল্পিংহ্যান্ড 13

3
@ হেল্পিংহ্যান্ড ব্যবহারকারীর আইপি নয়। সার্ভারের হোস্ট শিরোনামটি জানতে হবে যে ব্যবহারকারী এইচটিটিপি অনুরোধটি প্রেরণ করবে, টিসিপি সংযোগ সম্পূর্ণরূপে প্রতিষ্ঠিত হওয়ার পরে এটির নেই।
শেন ম্যাডেন

1
@ হেল্পিংহ্যান্ড না, সংযোগগুলিতে এটির এইচটিটিপি যোগাযোগের দৃশ্যমানতা নেই।
শেন ম্যাডেন

0

আপনাকে নিম্ন স্তরে যেতে হবে এটি কেবলমাত্র ফায়ারওয়াল চেইনে আমার মনে আসে যে অনুরোধ হস্টের যাচাইকরণের পরীক্ষা আছে এবং অ্যাপাচে আপনার যা আছে তা প্যাকেজটিকে উপেক্ষা বা বাদ দিতে দেবে


এটি অ্যাপাচি স্তরে এটি করা পুরোপুরি সম্ভব, সুতরাং এটি ওভারকিল হবে। একটি সহজ পদ্ধতি হ'ল এটি নিশ্চিত করা হবে যে প্রথম ভোস্টটি একটি ক্যাচল ছিল যা এইচটিটিপি বন্ধুত্বপূর্ণ উপায়ে অ্যাক্সেসকে অস্বীকার করেছিল।
পল ডিকসন

0

এটি হ্যান্ডেল করার একটি পরিষ্কার উপায় নীচে একটি রাইরাইটরুল সহ

<If "%{HTTP_HOST} == 'x.x.x.x'">
  RewriteRule ^.*$ http://www.example.com/$1 [L]
</If>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.