আইআইএস 7: HTTP-> HTTPS পরিষ্কারভাবে Clean


146

কোনও সাইটের কোনও HTTP: // সংস্করণে যাওয়ার HTTPS: // সমতুল্য করার সমস্ত প্রচেষ্টা পুনর্নির্দেশ করার কি কোনও পরিষ্কার উপায় আছে?



আপনি যদি আইআইএস 7 এবং আর 2 তে থাকেন তবে এখানে একটি গাইড রয়েছে যা কাজ করে এবং সর্বাধিক "পরিষ্কার"
উজ্জ্বল পার্কার

উত্তর:


177

আমি মনে করি সবচেয়ে পরিষ্কার উপায়টি এখানে আইআইএস -ইড.কম-এ বর্ণিত । এটি কেবলমাত্র ওয়েবকনফিগ এবং তাই আপনি যদি সার্ভার পরিবর্তন করেন তবে 403.4 কাস্টম ত্রুটি পৃষ্ঠা বা অন্যান্য বিশেষ অনুমতি দিয়ে আপনি যে সমস্ত পদক্ষেপগুলি পেরেছেন সেগুলি আপনাকে মনে রাখতে হবে না, এটি ঠিক কাজ করে।

<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" redirectType="Permanent" url="https://{HTTP_HOST}/{R:1}" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

9
এটি আমার ব্যতিক্রম নিয়ে কাজ করেছিল যে আমাকে https: // {HTTP_HOST} QU REQUEST_URI to
এন্ড্রু এস

6
এটি আমার জন্যও কাজ করেছিল। আমি যে অ্যাপ্লিকেশনটির অধীনে চলছিলাম সেগুলি আমাকে যুক্ত করতে হয়েছিল ... লোকালহোস্ট / অ্যাপ্লিকেশন => http: // {HTTP_HOST} / app1 / {আর: 1}
রিয়েলসোলিমে

15
ইতিমধ্যে পুনর্লিখনের বিভাগ নেই এমন যে কোনও ব্যক্তির জন্য, ওয়েব কোডফাইগের নিম্নলিখিত বিভাগগুলিতে বিধিগুলি রাখুন: <সিস্টেমে.ওয়েব সার্ভার> << লিখিত> <rules> ... </ru>> << লিখন </ সিস্টেম .webServer>
রাইডার 33

16
মাইক্রোসফ্ট ইউআরএল পুনর্লিখন মডিউল আইআইএস সার্ভারে ইনস্টল করা আছে তা নিশ্চিত করুন
ইমান

7
এসইও কারণে আপনার পুনঃনির্দেশ টাইপ = "স্থায়ী" ব্যবহার করা উচিত। পর্যালোচনা support.google.com/webmasters/answer/...
নিল্স Bosma

14

আমি খুঁজে পাওয়া সবচেয়ে সহজ এবং পরিষ্কার সমাধান ছিল

  1. এসএসএল সেটিংসে -> এসএসএল প্রয়োজন

  2. ত্রুটি পৃষ্ঠাগুলিতে -> 403.4 এ ত্রুটি -> এইচটিটিপিএস সাইটে পুনর্নির্দেশ করুন

  3. ত্রুটি পৃষ্ঠাগুলিতে -> বৈশিষ্ট্যসমূহ সেটিংস সম্পাদনা করুন ... -> স্থানীয় অনুরোধগুলির জন্য বিশদ ত্রুটি এবং দূরবর্তী অনুরোধের জন্য কাস্টম ত্রুটি পৃষ্ঠাগুলি সেট করুন

সুবিধাটি হ'ল এর জন্য কোনও অতিরিক্ত লাইন কোডের প্রয়োজন নেই। ক্ষতি হ'ল এটি আপনাকে পরম ইউআরএলে পুনঃনির্দেশ করে।


1
পুরোপুরি কাজ করে (আইআইএস 8.5 / 2012 আর 2 তে)। এবং
ওয়েবকনফিগের

আপনি দয়া করে এই নেতিবাচক উদাহরণ দিতে পারেন? কোন পরিস্থিতিতে এটি ঘটবে এবং কেন এটি একটি নেতিবাচক জিনিস? আপনি যদি আপনার উত্তরে এটি যুক্ত করতে পারেন তবে তা দুর্দান্ত। অনেক ধন্যবাদ!
মারকোস দিমিত্রিও

2
@ মারকোসডিমিট্রিও আমি নিশ্চিত না যেহেতু এটি অনেক আগে থেকেই ছিল। তবে আমি বিশ্বাস করি যখন আমি বোঝাতে চাইছিলাম যে এটি আপনাকে পরম ইউআরএলে পুনঃনির্দেশিত করে আমি "বেস url" বোঝাতে চাইছি। উদাহরণস্বরূপ "HTTP": //mywebsite.com/hellokitty "https" এ পুনঃনির্দেশিত হবে: //mywebsite.com সুতরাং কিছু পথের তথ্য হারাবে, এটি অতিরিক্ত পথের তথ্যের সাথে প্রতিটি বিদ্যমান লিঙ্কটি ভেঙে দেবে।
কোলাকএক্স

5

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

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

এই কারণে আমি পুনর্নির্দেশের জন্য একটি এএসপি পৃষ্ঠা ব্যবহার করেছি। ডাউনসাইড অবশ্যই এটির জন্য সার্ভারে ক্লাসিক এএসপি সক্ষম হওয়া প্রয়োজন।

ওপসানব্লগের একটি এএসপি স্ক্রিপ্ট এবং নির্দেশাবলী রয়েছে যা আইআইএস 6 এর সাথে ভাল কাজ করে।

আইআইএস with এর সাথে এই পদ্ধতিটি ব্যবহার করে আমার কয়েকটি সমস্যা হয়েছিল। বেশিরভাগ ইউজার ইন্টারফেস ইস্যু করে, যেহেতু আইআইএস 7 কিছু মিস করা সত্যিই সহজ করে তোলে।

  • প্রথমত, আপনাকে ওয়েব সার্ভারের ভূমিকা বৈশিষ্ট্য হিসাবে এএসপি ইনস্টল করতে হবে।
  • দ্বিতীয়ত, ভার্চুয়াল ডিরেক্টরি ব্যবহার করা আইআইএস 7-তে প্রত্যাশা অনুযায়ী কাজ করে নি এবং আমি এটি ডিবাগ করার চেষ্টা করিনি। পরিবর্তে, আমি সাইটের মূল ফোল্ডারে ফাইলটি রেখেছি এবং এটি উল্লেখ করার জন্য 403.4 ত্রুটি পৃষ্ঠায় ইউআরএল '/SSLRedirect.asp' ব্যবহার করেছি।
  • সর্বশেষে, সবচেয়ে জটিল অংশ, আপনাকে অবশ্যই SSLRedirect.asp এর জন্য SSL প্রয়োগ করতে হবে না । অন্যথায় আপনি একটি 403.4 ত্রুটি পাবেন। এটি করার জন্য আপনি আইআইএস '' কনটেন্ট ভিউ'-এ ফাইলটি বেছে নেবেন এবং 'ফিচারস ভিউ'-এ স্যুইচ করুন যাতে আপনি একক ফাইলের জন্য এসএসএল সেটিংস সম্পাদনা করতে পারেন এবং' এসএসএল প্রয়োজন 'চেকবক্সটি অক্ষম করতে পারেন।

আইআইএস ম্যানেজারের ফাইলের নামটি হেডারে প্রদর্শন করা উচিত।


1
এটি আইআইএস 7.5 বা আর 2 এ কাজ করে না তা হাইলাইট করতে JPPinto.com এ লিঙ্কযুক্ত নির্দেশাবলী আপডেট করা হয়েছে। তারা বলছেন যে আইআইএসের নতুন সংস্করণগুলিতে সুরক্ষা পরিবর্তনের কারণে আপনি লক লঙ্ঘন পাবেন। তারা পরিবর্তে ইউআরএল পুনর্লিখন ২.০ পদ্ধতি ব্যবহার করার পরামর্শ দেয় (@ টক্সাকের উত্তর অনুসারে অনুরূপ পন্থা)।
রবার্ট শটক

0

Global.asax

protected void Application_BeginRequest()
{
if (!Context.Request.Url.AbsoluteUri.Contains("localhost") && !Context.Request.IsSecureConnection)
Response.Redirect(Context.Request.Url.ToString().Replace("http:", "https:"));
}

1
আমি সহজে কোনো URI বাক্সে "স্থানীয় হোস্ট" কোথাও, যেমন কোয়েরি স্ট্রিং নির্বাণ দ্বারা এই পুনর্নির্দেশ দেখতে পারেন yourdomain.com?localhost=true পরিবর্তে আমি Request.Url.Host সম্পত্তি চেক সুপারিশ করবে
Aidy জে

0

আমি ক্লাসিক এস্প (ইন্ট্রনেট) ব্যবহার করি এবং লগইন হওয়া ফাইলগুলিতে যে ফাইলগুলিতে লগইন দরকার তা পুনঃনির্দেশিত করে:

if Request.ServerVariables("SERVER_PORT_SECURE") <> "1" or Request.ServerVariables("HTTPS") <> "on" then 
    Response.Redirect "https://" & Request.ServerVariables("SERVER_NAME") & Request.ServerVariables("URL")
end if

এটি অবশ্যই জিইটি বা পোষ্ট ডেটা অন্তর্ভুক্ত করে না। সুতরাং বাস্তবে এটি আপনার সুরক্ষিত পৃষ্ঠায় একটি পরিষ্কার পুনর্নির্দেশ।


-4

আমি মনে করি 'পরিষ্কার' দ্বারা আপনার বোঝা 300 টি পুনর্নির্দেশের মতো। এখানে প্রচুর সার্ভার এবং ভাষার জন্য কনফিগার করুন

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