मैं एक वीएस -2010 एमवीसी 3 परियोजना के लिए सुरक्षित कनेक्शन स्वीकार करने में आईआईएस एक्सप्रेस प्राप्त करने में असमर्थ हूं जिसे मैं विकसित कर रहा हूं। मैं इसे पोर्ट 80 पर असुरक्षित कनेक्शन स्वीकार करने के लिए मिल सकता है, लेकिन पोर्ट 443आईआईएस एक्सप्रेस - एसएसएल को काम करने के लिए
पर नहीं सुरक्षित मैंने निम्न चरणों का पालन, googling के आधार पर लिया:
1) मेरी आईआईएस एक्सप्रेस सर्वर के लिए SHA1 थंबप्रिंट स्थित एक VS2010 कमांडलाइन पर निम्नलिखित को क्रियान्वित करने के माध्यम से स्व-हस्ताक्षरित प्रमाणपत्र:
certmgr.exe /c /s /r localMachine MY
परिणाम 9B088F80 A4FC3141 28F62890 70BA1FC4 49FDD009 था। मैंने बाद में सीखा कि थंबप्रिंट का उपयोग करते समय मुझे रिक्त स्थान को हटाना होगा।
2) नष्ट कर दिया गया जो कुछ प्रमाण पत्र एक ऊंचा कमांडलाइन शीघ्र पर निम्नलिखित को निष्पादित करके पोर्ट 443 से जुड़ा हुआ था:
netsh http delete sslcert ipport=0.0.0.0:443
3) VS2010 उपकरण मेनू बंद GUID बनाएं चलाकर एक नया GUID सृजित होता है। मेरे मामले में मुझे B0421A5B-FF61-47CE-892D-11AA3A9C7D2A मिला।
netsh http add sslcert ipport=0.0.0.0:443 certhash=9B088F80A4FC314128F6289070BA1FC449FDD009 appid={B0421A5B-FF61-47CE-892D-11AA3A9C7D2A}
5) एक ऊंचा कमांडलाइन शीघ्र से निम्नलिखित चलाकर एसीएल संशोधित::
4) एक ऊंचा कमांडलाइन शीघ्र पर निम्नलिखित को निष्पादित करके पोर्ट 443 करने के लिए स्व-हस्ताक्षरित प्रमाणपत्र स्थापित
netsh http add urlacl url=https://localhost:443/ user=everyone
6) पोर्ट 443 और https प्रोटोकॉल के लिए बाध्यकारी जोड़कर आईआईएस एक्सप्रेस के लिए application.config फ़ाइल संशोधित करें।
<sites>
<site name="Development Web Site" id="1" serverAutoStart="true">
<application path="/">
<virtualDirectory path="/" physicalPath="%IIS_BIN%\AppServer\empty_wwwroot" />
</application>
<bindings>
<binding protocol="https" bindingInformation="*:443:localhost" />
<binding protocol="http" bindingInformation="*:80:localhost" />
</bindings>
</site>
<siteDefaults>
<logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" />
<traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
</siteDefaults>
<applicationDefaults applicationPool="IISExpressAppPool" />
<virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>
7) एक ऊंचा कमांडलाइन प्रॉम्प्ट पर निम्नलिखित को निष्पादित करके http सेवा को पुनः आरंभ: फाइल के लिए साइटों अनुभाग इस तरह देख समाप्त हो गया
net stop http
net start http
8) पर परियोजना यूआरएल परिवर्तित निम्नलिखित करने के लिए मेरे MVC परियोजना की संपत्ति पेज के वेब टैब:
http://localhost/
परियोजना संपत्ति पेज सहेजा जा रहा है के बाद मैं यह बदलाव किया है सर्वर की एक पुनर्विन्यासन शुरू हो गया।
जब मैं वीएस -2010 के भीतर से एमवीसी ऐप लॉन्च करता हूं तो यह सही ढंग से http://localhost (पोर्ट 80 पर, डिफ़ॉल्ट पर निर्भर करता है; मैंने पोर्ट 80 पर असुरक्षित/सामान्य कनेक्शन के साथ आईआईएस एक्सप्रेस को काम करने के लिए सभी चरणों को शामिल नहीं किया है, लेकिन वे अनिवार्य रूप से 7 के माध्यम से 5 कदम उठा रहे हैं, लेकिन http और पोर्ट 80 पर ध्यान केंद्रित करते हैं, https और पोर्ट 443 नहीं)।
हालांकि, https की आवश्यकता वाले किसी भी क्रिया में संक्रमण करने की कोशिश करने से मुझे "सर्वर से इनकार कर दिया गया" त्रुटि मिलती है।
मैं क्या गलत कर रहा हूं?
वाह! यह सुनिश्चित है कि मेरी खोज में जो कुछ मैंने पाया उससे काफी आसान है। मुझे इसे आज़मा देना होगा। –
स्पष्टता के लिए, आईएसआई एक्सप्रेस पर एसएसएल को सक्षम करने के लिए यह सब कुछ आसान जवाब है? यानी मार्क के कमांड लाइन काम की आवश्यकता नहीं है। –
हां, जरूरी सरल उत्तर जो आवश्यक है। विजुअल स्टूडियो 2012 में – jbtule