আইআইএস 7 এ HTTP স্ট্রাইক ট্রান্সপোর্ট সিকিউরিটি (এইচএসটিএস) সক্ষম করুন


75

আইআইএস 7 ওয়েব সার্ভারে HTTP স্ট্রাইক ট্রান্সপোর্ট সিকিউরিটি চালু করার সর্বোত্তম উপায় কী ?

আমি কি কেবল জিইউআইয়ের মাধ্যমে যথাযথ এইচটিটিপি রেসপন্স শিরোলেখ যুক্ত করতে পারি বা আমার অ্যাপ্লিকেশন সিএমডি ব্যবহার করা উচিত এবং যদি তাই হয় তবে কী স্যুইচ?


1
এর অনেকগুলি নির্ভর করে আপনি কীভাবে আইআইএস পরিবেশন করছেন তা উত্পন্ন করছে (উদাহরণস্বরূপ, আপনি নিজের অ্যাপ্লিকেশন থেকে পিএইচপি বা এএসপি.নেট পৃষ্ঠাগুলিতে শিরোনাম সেট করতে পারেন)। আপনি আমাদের ব্যবহারের ক্ষেত্রে সম্পর্কে আরও বলতে পারেন?
voretaq7

উত্তর:


18

আইআইএসের প্রতিক্রিয়াগুলিতে কাস্টম শিরোনাম যুক্ত করার ক্ষমতা রয়েছে । এটি এটি সম্পর্কে সবচেয়ে সহজ উপায় বলে মনে হয়।

আইআইএসএন- র ডকুমেন্টেশন অনুসারে আপনি আইআইএস ম্যানেজারের মাধ্যমে এই শিরোনামগুলি যুক্ত করতে পারেন:

  • সংযোগগুলি ফলকে, সেই সাইট, অ্যাপ্লিকেশন বা ডিরেক্টরিতে যান যার জন্য আপনি একটি কাস্টম এইচটিটিপি শিরোনাম সেট করতে চান।
  • হোম ফলকে, HTTP প্রতিক্রিয়া শিরোনামগুলিতে ডাবল ক্লিক করুন।
  • HTTP রেসপন্স শিরোনাম ফলকটিতে, ক্রিয়া ফলকটিতে যুক্ত করুন ... ক্লিক করুন।
  • কাস্টম এইচটিটিপি রেসপন্স শিরোনাম যুক্ত করুন ডায়ালগ বাক্সে, আপনার কাস্টম শিরোনামের জন্য নাম এবং মান সেট করুন এবং তারপরে ওকে ক্লিক করুন।

5
ওয়েবকনফাইগে এটি করাও সম্ভব, যা আপনি পছন্দ করতে পারেন। আমি বিশদটি নতুন উত্তর হিসাবে পোস্ট করেছি, কারণ মন্তব্যগুলিতে পাওয়া যায় না এমন সোর্সকোড বিন্যাস ছাড়াই তারা পড়তে সত্যিই অসুবিধা হবে।
ওভেন ব্ল্যাকার

3
এইচটিটিপি স্ট্রাইক ট্রান্সপোর্ট সিকিউরিটি আইআইএস মডিউলটির নির্মাতাদের মতে , কাস্টম শিরোনামটি খসড়া স্পেসিফিকেশন (আরএফসি 6797) এর সাথে সম্মতিযুক্ত নয়। আপনাকে আসলে এই আইআইএস মডিউলটি ইনস্টল করতে হবে।
ক্রিস

@ ক্রিস তারা নিখুঁত (ভুল) অনুমান সম্পর্কে নয় - তারা একেবারে সঠিক - তবে তাদের মডিউলটি বাদ দিয়ে মেনে চলার কোনও "সহজ" উপায় নেই: কেবলমাত্র 2 টি সাইট তৈরি করুন, একটি এসএসএলের জন্য (শিরোনাম সহ) এবং একটি নন-এসএসএল ( শিরোনাম ছাড়া)। অবশ্যই মডিউলটি আরও খানিকটা মার্জিত , তবে এটি প্রয়োজনীয় নয় (এবং আপনার সাইটটি কেবলমাত্র https- র হয় এবং আপনি সরল এইচটিটিপি প্রতিক্রিয়া পরিবেশন করেন না এমন বিষয়ে নিশ্চিত হওয়া প্রয়োজন )।
voretaq7

1
@ ক্রিস আপনার এই উত্তরটির সাথে একটি উত্তর যুক্ত করা উচিত - যদিও মডিউলটি নিখরচায়! (আমি এর অস্তিত্ব সম্পর্কে অবগত ছিলাম না এবং অনেক লোকের পক্ষে এটি কাস্টম শিরোনাম
স্টাফের

112

এটি আমাদের এইচটিটিপি পুনঃনির্দেশ উভয়ই পরিচালনা করতে দেয় এবং একক আইআইএস সাইটের সাথে এইচটিটিপিএস প্রতিক্রিয়াগুলিতে কঠোর-পরিবহন-সুরক্ষা শিরোনাম যুক্ত করতে দেয় (ইউআরএল পুনর্লিখন মডিউল ইনস্টল করতে হবে):

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="HTTP to HTTPS redirect" stopProcessing="true">
                    <match url=".*" />
                    <conditions>
                        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}"
                        redirectType="Permanent" />
                </rule>
            </rules>
            <outboundRules>
                <rule name="Add Strict-Transport-Security when HTTPS" enabled="true">
                    <match serverVariable="RESPONSE_Strict_Transport_Security"
                        pattern=".*" />
                    <conditions>
                        <add input="{HTTPS}" pattern="on" ignoreCase="true" />
                    </conditions>
                    <action type="Rewrite" value="max-age=31536000; includeSubDomains; preload" />
                </rule>
            </outboundRules>
        </rewrite>
    </system.webServer>
</configuration>

7
ধন্যবাদ, এটি সেরা উত্তর! স্থির এইচটিএমএল ফাইলগুলিতেও শিরোনাম যুক্ত করে, অগ্রগতির পদ্ধতির বিপরীতে। এবং এইচটিটিপি যোগ করে না, এইভাবে মান অনুসারে।
জিও লি হুয়ান

4
@ গণিতগুলি কি আপনি আইআইএস-এ ইউআরএল পুনর্লিখন ইনস্টল করেছেন?
ডগ উইলসন

3
না, আরও গবেষণার পরে আমি জানতে পেরেছিলাম যে পুনর্লিখনের ট্যাগটি এক্সটেনশন (ডি'ও) সরবরাহ করেছেন। আমি যে উত্তরগুলির সন্ধান পেয়েছি তার সবগুলিই নির্ভরতা হিসাবে এই এক্সটেনশনের উল্লেখ করে না, সম্ভবত আপনি নিজের উত্তরটি বলে একটি উত্তরার ফেলে দিতে পারেন।
গণিত

2
hlinespreload.org ব্যবহারকারীকে add; সাবডোমাইনগুলি অন্তর্ভুক্ত করতে চায়; প্রিলোড` সর্বাধিক বয়স মানের পরে। অপশন। সম্পূর্ণ লাইনটি হ'ল: hlinespreload.org এ পাস<action type="Rewrite" value="max-age=31536000 ;includeSubDomains; preload" /> পেতে
জেপি

2
ক্যাপচার গোষ্ঠী আর: 1 প্যাটার্নটির সাথে (। *) পুরো ইউআরএল, প্রোটোকল এবং সমস্তটির সাথে মেলে এবং {HTTP_HOST} / {R: 1} কে বোঝানোর চেষ্টা করছে মানে আপনি পেয়েছেন https://somedomain.com/https://somedomain.com/relatedpathএবং ফলাফলটি ছেড়ে দেওয়া হয়েছে।
অ্যারোনএলএস

38

Voretaq7 এর উত্তর পরিপূরক করতে , আপনি ওয়েবকনফিগ ফাইলটিও ব্যবহার করতে পারেন (এনবি: কেবল এসএসএল সাইটগুলির জন্য ব্যবহার করতে, যেহেতু এটি এইচটিটিপি এবং এইচটিটিপিএস উভয় প্রতিক্রিয়াগুলির জন্য শিরোনাম যোগ করবে, যা আরএফসি 6797 স্পেসিফিকেশনের বিপরীতে রয়েছে, দয়া করে নীচের ব্যাখ্যাটি দেখুন) - নীচে একটি ব্লক যুক্ত করুন:

<system.webServer>
    <httpProtocol>
        <customHeaders>
            <add name="Strict-Transport-Security" value="max-age=31536000"/>
        </customHeaders>
    </httpProtocol>
</system.webServer>

স্পষ্টতই, system.webServerআপনার ওয়েবকনফিগটিতে ইতিমধ্যে আপনার একটি ব্লক থাকতে পারে , তাই এটিতে এটি যুক্ত করুন, যদি তা হয়। আমরা জিইউআইয়ের চেয়ে ওয়েবকনফাইগের জিনিসগুলি হ্যান্ডলিং করতে পছন্দ করি কারণ এর অর্থ কনফিগার পরিবর্তনগুলি আমাদের গিট সংগ্রহস্থলের প্রতি প্রতিশ্রুতিবদ্ধ হতে পারে।

গ্রেগ অ্যাস্কিউ উল্লিখিত হিসাবে আপনি যদি এইচটিটিপি-টু-এসএসএল পুনঃনির্দেশ পরিচালনা করতে চান, তবে আইআইএসে একটি পৃথক ওয়েবসাইটের সাহায্যে এটি করা আপনার পক্ষে আরও সহজ হতে পারে। কিছু ক্লায়েন্ট সাইটগুলির জন্য আমরা এসএসএল প্রয়োজনীয় এটি পরিচালনা করি। এই সাইটে কেবলমাত্র একটি এইচটিটিপি পুনর্নির্দেশ এবং কিছু তথ্য-প্রকাশের ফিক্স রয়েছে যা সমস্ত ওয়েবকনফাইগে রয়েছে:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.web>
    <httpRuntime requestValidationMode="2.0" enableVersionHeader="false" />
  </system.web>
  <system.webServer>
    <httpRedirect enabled="true" destination="https://www.domain.co.uk/"
      httpResponseStatus="Permanent" />
    <httpProtocol>
      <customHeaders>
        <remove name="X-Powered-By" />
      </customHeaders>
    </httpProtocol>
    <rewrite>
      <outboundRules>
        <rule name="Remove RESPONSE_Server">
          <match serverVariable="RESPONSE_Server" pattern=".+" />
          <action type="Rewrite" value="" />
        </rule>
      </outboundRules>
    </rewrite>
  </system.webServer>
</configuration>

এটি বেশ কয়েকটি কারণে আমাদের পছন্দের সমাধান - আমরা সহজেই পুনঃনির্দেশিত ট্র্যাফিকটি আলাদাভাবে লগ করতে পারি (এটি ভিন্ন আইআইএস লগের মতো), এটি Global.asax.cs এ আরও কোড জড়িত না (আমাদের কোনও কোড নেই) সেখানে, যা কোনও আমব্রাকো সাইটের পক্ষে কিছুটা সুবিধাজনক) এবং গুরুত্বপূর্ণ, এর অর্থ এই যে সমস্ত কনফিগারেশন এখনও আমাদের জিআইটি রেপোতে রয়েছে।

যোগ করার জন্য সম্পাদিত: পরিষ্কার করা, অর্ডার দিয়ে পালন করার জন্য বোঝায় যা RFC 6797 , Strict-Transport-Securityকাস্টম হেডার না এনক্রিপ্ট না HTTP- র দ্বারা তৈরি অনুরোধ যোগ করা। আরএফসি 6797-অনুবর্তী হতে, আপনার আইআইএসে দুটি সাইট থাকা উচিত, আমি প্রথম কোড ব্লকের পরে বর্ণনা করেছি। ক্রিস যেমন উল্লেখ করেছেন, আরএফসি 6797 এর মধ্যে রয়েছে:

কোনও এইচএসটিএস হোস্টকে এইচটিটিপি হেডের ক্ষেত্রটি এইচটিটিপি-র সুরক্ষিত নিরাপদ পরিবহণের বিষয়ে দেওয়া প্রতিক্রিয়াগুলিতে অন্তর্ভুক্ত করা উচিত নয়

সুতরাং Strict-Transport-Securityএকটি নন-এসএসএল অনুরোধের প্রতিক্রিয়া হিসাবে গ্রাহক শিরোনাম প্রেরণ স্পেসিফিকেশন মেনে চলবে না।


1
ওয়ান ব্ল্যাকারের প্রতিক্রিয়ায় যুক্ত করার জন্য, আইআইএসের জন্য আমি ইউআরএলস্ক্যান ৩.১ ব্যবহার করি এবং এটি সরানসার্ভারহাইডার = 1 সেট করে প্রতিক্রিয়া থেকে বিশ্বব্যাপী সার্ভারটি সরান, বাকী সেটিংস প্রতিটি সাইটের ওয়েবকনফাইগ ফাইলে থাকা বাধ্যতামূলক করে। আমি এটিকে কেবল মানটি ফাঁকা করার চেয়ে পছন্দ করি।
কীআফজে

ইউআরএলস্ক্যান একটি খুব সাধারণ সমাধান এবং আমি পরামর্শ দিচ্ছি, আমি যে প্রস্তাব দিচ্ছি তার থেকে ভাল একটি। তবে এটি সর্বদা সর্বাধিক সুবিধাজনক সমাধান নয়: ও)
ওভেন ব্ল্যাকার

এটি গুরুত্বপূর্ণ যে এইচটিটিপিএস এবং এইচটিটিপি সক্ষম (যাতে এটি পুনর্নির্দেশ করতে পারে) সহ কোনও সাইটে এটি যুক্ত করা BREAK এই সাইটটিকে BREAK! লগগুলিতে কোনও ত্রুটি না থাকলেও আপনি কাস্টমআরিয়ারস মোড = "অফ" সহ একটি তথ্যহীন 500 পাবেন।
ক্রিস মোসচিনি

@ ক্রিসমোসচিনি আমার স্পষ্ট হওয়া উচিত ছিল যে প্রথম ওয়েবকনফিগ লাইনটি কেবলমাত্র এসএসএল-সাইটের জন্য হওয়া উচিত।
ওয়ান ব্ল্যাকার

1
@ লেন স্কট হ্যানসেলম্যান এইচটিটিপি ব্যবহারের সময় এসটিএস কেন শিরোনামের অন্তর্ভুক্ত নয় সে সম্পর্কে আরও একটি ভাল বর্ণনা লিখেছেন। এখানে
ডেভিড ইয়েটস

8

আপনি উল্লিখিত উইকিপিডিয়া লিঙ্কের উদাহরণটি ব্যবহার করব এবং সাইটের জন্য Global.asax এ ক্রিয়াকলাপটি করব। এটি অনুরোধটিকে কোনও https url এ পুনঃনির্দেশ সক্ষম করে এবং এরপরে প্রতিক্রিয়ার মধ্যে শিরোনামটি সন্নিবেশ করে।

এটি এইচটিএসটিএসের কারণে এটি কোনও https প্রতিক্রিয়াতে না থাকলে অবশ্যই তা উপেক্ষা করা উচিত।

protected void Application_BeginRequest()
{
    switch (Request.Url.Scheme)
    {
        case "https":
            Response.AddHeader("Strict-Transport-Security", "max-age=31536000");
            break;
        case "http":
            var path = "https://" + Request.Url.Host + Request.Url.PathAndQuery;
            Response.Status = "301 Moved Permanently";
            Response.AddHeader("Location", path);
            break;
    }
}

3

এটি এটির পক্ষে বেশ ব্যর্থ নিরাপদ উপায় বলে মনে হচ্ছে। গ্লোবাল.এক্সএক্সে এই কোডটি যুক্ত করুন - অ্যাপ্লিকেশন_বেগিনরেখা ইভেন্টটি Asp.net অনুরোধ লাইফসাইকে প্রথমে আগুন: http://msdn.microsoft.com/en-us/library/system.web.httpapplication.beginrequest(v=vs। 110) .aspx

প্রতিবেদন অনুসারে, HTTP অনুরোধগুলি অবশ্যই শিরোনামের সাথে প্রতিক্রিয়া জানাতে পারে না - সুতরাং এই কোডটি এটি কেবলমাত্র https অনুরোধগুলির জন্য যুক্ত করে। সর্বাধিক বয়স সেকেন্ডের সংখ্যায় হয় এবং এখানে সাধারণত একটি বড় মান রাখা ভাল ধারণা (IE - 31536000 ইঙ্গিত দেয় যে সাইটটি কেবলমাত্র পরবর্তী ৩5৫ দিনের জন্য এসএসএল চালাবে)

protected void Application_BeginRequest(Object sender, EventArgs e)
{
  switch (Request.Url.Scheme)
  {
    case "https":
      Response.AddHeader("Strict-Transport-Security", "max-age=31536000");
      break;
    case "http":
      var path = "https://" + Request.Url.Host + Request.Url.PathAndQuery;
      Response.Status = "301 Moved Permanently";
      Response.AddHeader("Location", path);
      break;
  }
}

2

ডগ উইলসনের দেওয়া উদাহরণ ব্যবহার করে আমি এইচটিটিপিএসে পুনঃনির্দেশের জন্য এবং এইচএসটিএস শিরোনাম যুক্ত করার জন্য url পুনর্লিখনের নিয়ম যুক্ত করতে নিম্নলিখিত দুটি পাওয়ারশেল ফাংশন তৈরি করেছি।

এগুলি উইন্ডোজ 2012 এবং উইন্ডোজ 2012 আর 2 এ পরীক্ষা করা হয়েছে।

আপনাকে যা করতে হবে তা হ'ল ওয়েবসাইটের নাম সরবরাহ করা। আপনি যদি ডিফল্ট পছন্দ না করেন তবে আপনি নিয়মগুলি nameচ্ছিকভাবে একটি আলাদা নাম দিতে পারেন।

একটি বিষয় লক্ষনীয় যে আমার পরীক্ষা থেকে সার্ভার ভেরিয়েবলগুলি প্রতিক্রিয়া শিরোনামে আসার আগে অনুমতি তালিকায় যুক্ত করা দরকার। ফাংশনগুলি আপনার জন্য এটি করে।

সম্পাদনা: HTTP- র শিরোলেখ জন্য URL লেখা উপর রেফারেন্স এখানে দেখুন http://www.iis.net/learn/extensions/url-rewrite-module/setting-http-request-headers-and-iis-server-variables

Function Add-HTTPSRedirectRewriteRule()
{
    <#
        .SYNOPSIS
        This function is used to create a URL Rewrite Rule that redirects HTTP requests to HTTPS using a 301
        RuleName is optional and will default to "Redirect to HTTPS"

        .SYNTAX
        Add-HTTPSRedirectRewriteRule -WebsiteName "www.mywebsite.com"

        .EXAMPLES
        Add-HTTPSRedirectRewriteRule -WebsiteName "www.mywebsite.com"

        Add-HTTPSRedirectRewriteRule -WebsiteName "www.mywebsite.com" -RuleName "my rule name"

    #>


    [cmdletbinding(positionalbinding=$false)]
    Param
    (
        [parameter(mandatory=$true)][String] [ValidateNotNullOrEmpty()] $WebsiteName,
        [parameter(mandatory=$false)][String] $RuleName="Redirect to HTTPS"
    )

        Write-Verbose -Message "Creating the Url Rewrite rule ""$RuleName"" in website ""$WebsiteName"""
        Remove-WebConfigurationProperty -pspath "MACHINE/WEBROOT/APPHOST" -location "$WebsiteName" -filter "system.webServer/rewrite/rules" -name "." -AtElement @{name="$RuleName"}  -ErrorAction SilentlyContinue
        Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -location "$WebsiteName" -filter "system.webServer/rewrite/rules" -name "." -value @{name="$RuleName";stopProcessing='True'}
        Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -location "$WebsiteName" -filter "system.webServer/rewrite/rules/rule[@name='$RuleName']/match" -name "url" -value "(.*)"
        Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -location "$WebsiteName" -filter "system.webServer/rewrite/rules/rule[@name='$RuleName']/conditions" -name "." -value @{input='{HTTPS}';pattern='off'}
        Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -location "$WebsiteName" -filter "system.webServer/rewrite/rules/rule[@name='$RuleName']/action" -name "type" -value "Redirect"
        Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -location "$WebsiteName" -filter "system.webServer/rewrite/rules/rule[@name='$RuleName']/action" -name "url" -value "https://{HTTP_HOST}/{R:1}"
}

Function Add-HSTSHeaderRewriteRule()
{
    <#
        .SYNOPSIS
        This function is used to create a URL Rewrite Rule that sets an HTTP Response Header for Strict-Transport-Security
        when the protocol requested is HTTPS

        RuleName is optional and will default to "Add Strict-Transport-Security header when request is HTTPS"

        .SYNTAX
        Add-HSTSHeaderRewriteRule -WebsiteName "www.mywebsite.com"

        .EXAMPLES
        Add-HSTSHeaderRewriteRule -WebsiteName "www.mywebsite.com"

        Add-HSTSHeaderRewriteRule -WebsiteName "www.mywebsite.com" -RuleName "my rule name"

    #>

    [cmdletbinding(positionalbinding=$false)]
    Param
    (
        [parameter(mandatory=$true)][String] [ValidateNotNullOrEmpty()] $WebsiteName,
        [parameter(mandatory=$false)][String]$RuleName="Add Strict-Transport-Security header when request is HTTPS"
    )

    $serverVariable = "RESPONSE_Strict_Transport_Security"

    Write-Verbose -Message "Creating the HSTS Header rule ""$RuleName"" in website ""$WebsiteName"""

    Remove-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -location "$WebsiteName" -filter "system.webServer/rewrite/allowedServerVariables" -name "." -AtElement @{name="$serverVariable"} -ErrorAction SilentlyContinue
    Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -location "$WebsiteName"  -filter "system.webServer/rewrite/allowedServerVariables" -name "." -value @{name="$serverVariable"}

    Remove-WebConfigurationProperty -pspath "MACHINE/WEBROOT/APPHOST" -location "$WebsiteName" -name "." -filter "system.webServer/rewrite/outboundRules" -AtElement @{name="$RuleName"} -ErrorAction SilentlyContinue

    Add-WebConfigurationProperty -pspath "MACHINE/WEBROOT/APPHOST" -location "$WebsiteName" -filter "system.webServer/rewrite/outboundRules" -name "." -value @{name="$RuleName"}
    Set-WebConfigurationProperty -pspath "MACHINE/WEBROOT/APPHOST" -location "$WebsiteName" -filter "system.webServer/rewrite/outboundRules/rule[@name='$RuleName']/match" -name "serverVariable" -value $serverVariable
    Set-WebConfigurationProperty -pspath "MACHINE/WEBROOT/APPHOST" -location "$WebsiteName" -filter "system.webServer/rewrite/outboundRules/rule[@name='$RuleName']/match" -name "pattern" -value ".*"
    Add-WebConfigurationProperty -pspath "MACHINE/WEBROOT/APPHOST" -location "$WebsiteName" -filter "system.webServer/rewrite/outboundRules/rule[@name='$RuleName']/conditions" -name "." -value @{input='{HTTPS}';pattern='on'}
    Set-WebConfigurationProperty -pspath "MACHINE/WEBROOT/APPHOST" -location "$WebsiteName" -filter "system.webServer/rewrite/outboundRules/rule[@name='$RuleName']/action" -name "type" -value "Rewrite"
    Set-WebConfigurationProperty -pspath "MACHINE/WEBROOT/APPHOST" -location "$WebsiteName" -filter "system.webServer/rewrite/outboundRules/rule[@name='$RuleName']/action" -name "value" -value "max-age=31536000"

}

1

এইচটিটিপি স্ট্রাইক ট্রান্সপোর্ট সিকিউরিটি আইআইএস মডিউলটির নির্মাতাদের মতে, কাস্টম শিরোনামটি খসড়া স্পেসিফিকেশন (আরএফসি 6797) এর সাথে সম্মতিযুক্ত নয়।

আইআইএস on-তে এইচএসটিএস চালু করার জন্য আপনাকে এই আইআইএস মডিউলটি ইনস্টল করতে হবে ।

আপডেট 26 অক্টোবর 2014 : নীচের মন্তব্যকারীকে ধন্যবাদ, আমি আবার মডিউল পৃষ্ঠাটি এবং বিশেষত সেই অংশটি পড়ি যা কাস্টম হেডার যুক্ত করার পরে মডিউলটির ব্যবহারকে ন্যায়সঙ্গত করে।

কোনও এইচএসটিএস হোস্টকে এইচটিটিপি হেডের ক্ষেত্রটি এইচটিটিপি-র সুরক্ষিত নিরাপদ পরিবহণের বিষয়ে দেওয়া প্রতিক্রিয়াগুলিতে অন্তর্ভুক্ত করা উচিত নয়।

আপনি যদি এইচডিটিপিএসে এবং এইচটিটিপি-তে না শিরোনামগুলি যুক্ত করার বিষয়ে নিশ্চিত হন তবে আপনার এই মডিউলটির প্রয়োজন নেই এবং আপনি ডগ উইলসনের উত্তরটি ব্যবহার করতে পারেন। ওউন ব্ল্যাকারের উত্তরটি ব্যবহার করবেন না কারণ এর https শর্ত নেই।


1
তাহলে কি এইচটিটিপিএস অনুরোধগুলিতে কেবল শিরোনামটি প্রেরণ করে এমন কিছু অন্যান্য উত্তরও এই সমস্যার সমাধান করতে পারে? অথবা আপনার মডিউলটি আলাদা / অতিরিক্ত কিছু করে যা অন্যান্য সমাধানগুলি না করে?
স্লোলাইফ

@ স্লোলাইফ আমি আমার উত্তর আপডেট করেছি। আপনি ডগ উইলসনের উত্তরে কোডটি ব্যবহার করতে পারেন। আপনার এই মডিউলটির দরকার নেই। আমি এখন দেখছি যে এটি গৃহীত উত্তরের মন্তব্যেও আলোচনা করা হয়েছে। আমি এই মডিউলটি ভিন্ন / অতিরিক্ত কিছু না করে যা অন্যান্য সমাধানগুলি না করে সে সম্পর্কে সচেতন। তবে আমি উত্স কোডের একটি সম্পূর্ণ চেকও করি নি।
ক্রিস ২

আমার আরও পরিষ্কার হওয়া উচিত ছিল যে প্রথম ওয়েবকনফিগটি কোনও এসএসএল-কেবলমাত্র সাইটে প্রয়োগ করা উচিত। আমি আমার উত্তর সম্পাদনা করব তা পরিষ্কার করতে।
ওয়ান ব্ল্যাকার

1

এটি ওয়েব.কনফাইগে নিম্নলিখিত ব্লক যুক্ত করে করা যেতে পারে:

<system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name ="CustomName" value="MyCustomValue"/>
      </customHeaders>
    </httpProtocol>
</system.webServer>

আমাদের আইআইএসে কনফিগার করতে হবে যা প্রতিক্রিয়া জানাতে কাস্টম শিরোনামের ক্ষমতা রাখে:

  • ইন্টারনেট তথ্য পরিষেবাদি (আইআইএস) ম্যানেজারের কাছে যান to
  • সার্ভারের প্রতিক্রিয়ার সাথে যুক্ত হওয়া প্রতিক্রিয়া শিরোনামগুলি কনফিগার করুন।
  • এখন আপনার কাস্টম শিরোনামের নাম এবং কাস্টম মান যুক্ত করুন (কাস্টম শিরোনামের নাম এবং মান Web.Config এর মতো হওয়া উচিত)। আপনি ব্লগে খুঁজে পেতে পারেন

0

কেবল যোগ করার জন্য, আমি মন্তব্যে 2 জন লোক 500 টি ত্রুটি সম্পর্কে কথা বলছি যখন আপনি এটি করেন। আমি এই ছিল।

আইআইএস-এ যদি আপনি 500 টি ত্রুটি পান তবে এটি হতে পারে কারণ আপনি শীর্ষ স্তরে নিয়মটি যুক্ত করেছেন, উত্তরাধিকার সূত্রে সেট করেছেন এবং সাইট স্তরে।

যেমন

Default Web Site <- here
  Some Web Site <- here

আইআইএস / ব্রাউজার আপনার ত্রুটি পরিচালনা করার সেটিংস বিবেচনা না করেই আপনি কোনও কাজ করেছেন এমন কোনও তথ্য আপনাকে বলে মনে হচ্ছে না

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