অ্যাপাচি শর্তাধীনভাবে একটি কাস্টম http শিরোনাম থেকে একটি পুনর্লিখন সম্পাদন করতে পারে?


12

আমার একটি (সাধারণ অ্যামাজন) লোড ব্যালেন্সারের পিছনে অ্যাপাচি সার্ভার রয়েছে। আমি যে কোনও আগত ট্র্যাফিক 443 থেকে 443 নয় পুনর্নির্দেশ করতে চাই I আমি এটি কেবলমাত্র একটি অ্যাপাচি ভার্চুয়াল হোস্ট ব্যবহার করতে পছন্দ করব। সুতরাং আমি সনাক্ত করার চেষ্টা করছি যে HTTP_X_FORWARDED_PORT শিরোনাম 443 না হলে।

আমি রিরাইটকন্ড ডক্স পরীক্ষা করে দেখেছি এবং এটি কেবলমাত্র HTTP শিরোনামের একটি সীমিত সেট নিয়ে কাজ করে।

মূলত আমি যা করছি তা হ'ল:

<VirtualHost *:80>
        ServerName www.example.com

        RewriteEngine On
        RewriteCond %{HTTP_X_FORWARDED_PORT} !=443
        RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

        ....
</VirtualHost>

কিন্তু রিরাইটকন্ড HTTP_X_FORWARDED_PORT চিনতে পারে না।

এটি সম্পাদন করার জন্য অন্য কোনও উপায় আছে (কেবলমাত্র একটি ভার্চুয়ালহোস্ট দিয়ে)? (আগত হেডার চেক কিছু ধরণের?)

ধন্যবাদ, ল্যান্স

উত্তর:


13

RewriteCondডকুমেন্টটির আরও কিছুটা নিচে :

%{HTTP:header}, যেখানে শিরোনাম কোনও HTTP মাইমাই-হেডার নাম হতে পারে

সুতরাং, আপনি এটি করতে পারেন, প্রাক-এক্সট্রাক্টড শিরোনামগুলির মতো ঠিক একই আকারে নয়।

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

RewriteCond %{HTTP:X-Forwarded-Port} !=443
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

1
সাইটলক সিডিএন দ্বারা পাস করা শিরোনামে আইপি ঠিকানার সাথে অন্য একটি উদাহরণ:RewriteCond %{HTTP:X-Forwarded-For} !=123.45.67.89
লিয়াম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.