আইআইএসে সমস্ত এইচটিটিপি এইচটিটিপিএসে পুনঃনির্দেশ করার সর্বোত্তম উপায়


26

আমরা আমাদের ওয়েবসারভারের সমস্ত সাইট (আইআইএস 10) এসএসএল প্রয়োগ করতে (অর্থাত্ HTTP কে এইচটিটিপিএসে পুনর্নির্দেশ) করতে চাই।

আমরা বর্তমানে প্রতিটি সাইটে 'এসএসএল প্রয়োজন' এবং সেই নির্দিষ্ট সাইটের জন্য https ঠিকানার জন্য একটি 403 errorহ্যান্ডলার সেটআপ 302 redirectকরছি।

এটি দুর্দান্ত কাজ করে। তবে প্রতিটি একক সাইটের জন্য করা ব্যথা, মানুষের ত্রুটির জন্য প্রচুর জায়গা রয়েছে।

মূলত আমি একটি স্থায়ী সেট আপ করতে চাই 301 redirectসব HTTP://*থেকেHTTPS://*

আইআইএস-এ এটি করার কোনও সহজ উপায় আছে?


প্রশাসনিক বোঝা হ্রাস করতে এবং টাইপস এবং ভুলগুলি প্রতিরোধ করতে উভয়ই এমন সাইটের জন্য এই পরিবর্তনটি করার জন্য আপনি কোনও স্ক্রিপ্ট লিখতে পারবেন না?
টড উইলকক্স

1
শিরোনামটি ভুল। আমি মনে করি "
মিক

@ টডউইলকক্স আপনি কি এই জাতীয় স্ক্রিপ্টের উদাহরণ দিতে পারেন?
ব্যবহারকারীস্টেভে

আইআইএস ব্যবহার করবেন না: ডি

উত্তর:


40

আইআইএস 7 + এর জন্য আইআইএস ইউআরএল পুনর্লিখনের মডিউল 2.1 আপনার বন্ধু হতে পারে। আইআইএস ইউআরএল পুনর্লিখন থেকে মডিউলটি ডাউনলোড করা যায় । ইউআরএল পুনর্লিখন মডিউল এবং ইউআরএল পুনর্লিখন মডিউল 2.0 কনফিগারেশন রেফারেন্স ব্যবহার করে ব্যবহার করে মডিউলটি কীভাবে ব্যবহার করবেন তা ব্যাখ্যা করে।

মডিউলটি ইনস্টল হয়ে গেলে, আপনি আইআইএস ম্যানেজার ব্যবহার করে হোস্টের প্রশস্ত পুনর্নির্দেশ তৈরি করতে পারেন। ইউআরএল পুনর্লিখন নির্বাচন করুন , বিধি (গুলি) যোগ করুন ... এবং খালি নিয়ম

নাম:
এইচটিটিপিএসে পুনর্নির্দেশ করুন

ম্যাচ ইউআরএল
অনুরোধ করা URL: Matches the Pattern
ব্যবহার: Wildcards
প্যাটার্ন: *
কেস উপেক্ষা করুন: চেক করা হয়েছে

শর্তগুলি
লজিকাল গোষ্ঠীকরণ: Match Any
শর্ত ইনপুট : {HTTPS}
ইনপুট স্ট্রিং কিনা তা পরীক্ষা করুন: Matches the Pattern
প্যাটার্ন: OFF
কেস উপেক্ষা করুন: শর্তাবলী জুড়ে চেক করা
ট্র্যাক ক্যাপচার গ্রুপগুলি: করা হয়নি

সার্ভার ভেরিয়েবলসমূহ
ফাঁকা ছেড়ে দিন।

ক্রিয়া
কর্মের ধরণ: Redirect
পুনঃনির্দেশ URL: https://{HTTP_HOST}{REQUEST_URI}
কোয়েরি স্ট্রিং যুক্ত করুন: চেক করা হয়নি
পুনর্নির্দেশ প্রকার: Permanent (301)

নিয়মটি প্রয়োগ করুন এবং আইআইএসসেট চালান (বা আইআইএস ম্যানেজারে পুনঃসূচনা ক্লিক করুন)

বিকল্পভাবে, মডিউলটি ইনস্টল করার পরে আপনি অ্যাপ্লিকেশন হোস্টকনফিগ ফাইলটি নিম্নরূপে সংশোধন করতে পারেন:

<system.webServer>
  <rewrite>
    <globalRules>
      <rule name="Redirect to HTTPS" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
        <match url="*" ignoreCase="true" negate="false" />
        <conditions logicalGrouping="MatchAny" trackAllCaptures="false">
          <add input="{HTTPS}" ignoreCase="true" matchType="Pattern" negate="false" pattern="OFF" />
        </conditions>
        <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" redirectType="Permanent" />
      </rule>
    </globalRules>
  </rewrite>
</system.webServer>

এই স্থায়ী 301 পুনঃনির্দেশগুলির জন্য কাজ করবে?
ব্যবহারকারীর স্টিভ

উপরের উত্তর অনুসারে @ ব্যবহারকারীর স্টিভ, আপনি পুনঃনির্দেশ প্রকারটি চয়ন করতে পারেন।
BE77Y

@ ইউজারস্টেভ হুফ, হ্যাঁ আপনি পুনঃনির্দেশ
প্রকারটি

1
@ এসপিপি আরও একটি প্রশ্ন রাখুন - ইনপুট = "{এইচটিটিপিএস}" এর অর্থ কী? এটি কি {এইচটিটিপি} হওয়া উচিত যা ইনপুট এবং এইচটিটিপি আউটপুট হবে?
ব্যবহারকারীর স্টিভ

3
{এইচটিটিপিএস এমন একটি পরিবর্তনশীল যা আপনার সংযোগটি সুরক্ষিত রয়েছে কিনা তা অনুসন্ধান করার জন্য জিজ্ঞাসা করেন। আপনি এখানে এ সম্পর্কে আরও পড়তে পারেন: ডকস.মাইক্রোসফট.ইন / ইউএস / আইস / এক্সটেনশানস / ইউরাল- বিলিপি- মডুল// এই ক্ষেত্রে, আমরা {এইচটিটিপিএস "" বন্ধ "আছে কিনা তা যাচাই করছি এবং তারপরে পুনঃনির্দেশ এটি
সিপ্পিবার

1

আমার গবেষণা দেখায় যে এটি পুনর্নির্দেশের আরও ভাল উপায় হতে পারে:

<rewrite>
    <rules>
        <rule name="http to https" stopProcessing="true">
            <match url="(.*)" />
            <conditions>
                <add input="{HTTPS}" pattern="^OFF$" />
            </conditions>
            <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
        </rule>
    </rules>
</rewrite>

1
কেন আপনি ভাল এটি ব্যাখ্যা করতে পারেন?
ব্যবহারকারীর স্টিভ

আমি দুঃখিত আমি এটিকে আমার স্ব ব্যাখ্যা করতে পারছি না, কেবল কয়েকটি জায়গায় পড়ি যা সিনট্যাক্সই ভাল।
পড়েছে অ্যাঞ্জেল

1
আপনার কি কোন উত্স আছে?
ডাঙ্গেল

1
এটি হুবহু একই নিয়ম যা সার্ভারসফল্ট / এ / 893804/7184 তে রয়েছে তবে নিয়মিত প্রকাশ এবং মিলের সাথে সমস্ত গ্রুপিংয়ের সাহায্যে রচিত। একটি উল্টো দিক হতে পারে যে নিয়ম প্রকাশটি নিয়ম ডিফল্ট ব্যবহার করে এবং ক্ষয় হয়।
bzlm

আমি আইআইএস 10 এ আছি এবং নির্বাচিত উত্তর আমার পক্ষে কার্যকর হয়নি। কোনও কারণে আইআইএস বাক্য গঠনটিকে বৈধ নিয়ম হিসাবে স্বীকৃতি দেয়নি। আমি আপনার কোডটি এতে আটকিয়েছি এবং এটি অবিলম্বে কাজ করেছে, ভাগ করে নেওয়ার জন্য ধন্যবাদ।
জর্ডান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.