मैं एक लापता IIS एक्सप्रेस एसएसएल प्रमाणपत्र को कैसे पुनर्स्थापित करूं?


134

इस तरह के और इस तरह के लेख के अनुसार, IIS एक्सप्रेस में HTTPS स्थापित करने के बाद , मैं वास्तव में HTTPS का उपयोग करके IIS एक्सप्रेस साइट को लोड करने में असमर्थ हूं। में क्रोम , मैं केवल रही हूँ:

यह वेबपृष्ठ उपलब्ध नहीं है (त्रुटि कोड "ERR_CONNECTION_RESET" के साथ)

... और IE में मैं केवल प्राप्त कर रहा हूं:

इंटरनेट एक्सप्लोरर वेबपृष्ठ नहीं दिखा सकता है

... जब मैं उन लेखों में निर्देशों का पालन करता हूं।

ऐसा प्रतीत होता है कि इस तथ्य के साथ करना है कि "IIS एक्सप्रेस डेवलपमेंट सर्टिफिकेट" जो IIS एक्सप्रेस स्थापित करता है स्वचालित रूप से हटा दिया गया है। मुझे यह प्रमाणपत्र कैसे पुनः प्राप्त करना है?


2
इसके अलावा मुझे क्या हुआ पोर्ट 443 पर IISExpress चलाने के लिए (44,300-44,399 सीमा के बाहर किसी भी बंदरगाह पर या वास्तव में) की कोशिश कर रहा
गेरार्डो Grignoli

नोट: इस प्रश्न का स्वीकृत उत्तर यहां तक ​​लागू है जहां IIS एक्सप्रेस लोकलहोस्ट प्रमाणपत्र मौजूद है और ठीक प्रतीत होता है।
हाइमनफील्ड

विज़ुअल स्टूडियो 2017 के लिए देखें stackoverflow.com/questions/44142037/…
RickAndMSFT

जवाबों:


193

प्रोग्राम जोड़ें या निकालें और IIS एक्सप्रेस पर "मरम्मत" विकल्प चुनने के बाद, प्रमाण पत्र को फिर से स्थापित किया गया है और मैं अब HTTPS का उपयोग करके IIS एक्सप्रेस साइटों को लॉन्च कर सकता हूं।

IIS एक्सप्रेस की मरम्मत करें

प्रमाणपत्र वापस आ गया है:

IIS एक्सप्रेस विकास प्रमाणपत्र

और मैं अब HTTPS का उपयोग करके IIS एक्सप्रेस साइट लॉन्च कर सकता हूं:

सफलता!


1
मेरे लिए भी काम करता है, लेकिन मेरे मामले में प्रमाण पत्र था। यकीन नहीं क्यों, लेकिन वह एक ही त्रुटि के परिणामस्वरूप। इसलिए मैंने प्रमाणपत्र हटा दिया है, और 'मरम्मत' ने इस बैक और वॉइला को फिर से स्थापित किया है। बहुत बहुत धन्यवाद।
डेरियस

37
विंडोज 10 उपयोगकर्ताओं के लिए ध्यान दें: मरम्मत केवल नियंत्रण कक्ष में है, न कि ऐड निकालें प्रोग्राम ऐप में। शानदार विचार msft।
क्रिस वेबर

1
एक बहुत तेज़ तरीका है Jexus Manager को लॉन्च करना और एक नया प्रमाणपत्र तैयार करना और फिर आपकी साइट पर बाँधना। jexusmanager.com निश्चित रूप से यह अभी तक टूटी हुई प्रमाणपत्र बाइंडिंग को ठीक नहीं करता है और मैं देखूंगा कि कैसे एक-क्लिक सुविधा बनाई जाए।
लेक्स ली

मरम्मत का काम करता है लेकिन मुझे MMC का उपयोग करके किसी भी मौजूदा प्रमाणपत्र को हटाना पड़ा। मेरे पास समस्या यह थी कि मैं उन्हें स्थानीय माचिन से व्यवस्थापक के रूप में नहीं हटा रहा था। सुनिश्चित करें कि आप उन्नत अनुमतियों के साथ MMC चलाते हैं!
रेन्यूवे

6
VS2019 उपयोगकर्ताओं के लिए ध्यान दें: "मरम्मत" काम नहीं करेगा क्योंकि विज़ुअल स्टूडियो इंस्टॉलर ने MSI फ़ाइल को नहीं रखा है जहां कंट्रोल पैनल को उम्मीद है कि यह होगा। हालाँकि, _package.json उसी निर्देशिका में एक फ़ाइल होती है, और इसमें MSI फ़ाइल का URL होता है। आप या तो इसे मैन्युअल रूप से चला सकते हैं या इसे कॉपी कर सकते हैं जहां कंट्रोल पैनल इसे उम्मीद करता है।
क्रिस आर। डोनाल्डली

156

Visual Studio 2015, IIS Express 10, Windows 10 के लिए, ये विकल्प मेरे लिए कारगर नहीं थे। IIS एक्सप्रेस 10 में मरम्मत का विकल्प नहीं था।

मैं IisExpressAdminCmd.exeउपलब्ध कमांड का उपयोग करके समस्या को हल करने में कामयाब रहा C:\Program Files (x86)\IIS Express

एक उन्नत कमांड प्रॉम्प्ट रन से:

cd C:\Program Files (x86)\IIS Express
IisExpressAdminCmd.exe setupsslUrl -url:urlToYourSite -UseSelfSigned

अपने url के साथ urlToYourSite को बदलना।

जैसे

cd C:\Program Files (x86)\IIS Express
IisExpressAdminCmd.exe setupsslUrl -url:https://localhost:44387/ -UseSelfSigned

उसके बाद मैंने IIS एक्सप्रेस को बंद कर दिया और विज़ुअल स्टूडियो से अपनी साइट को फिर से शुरू किया और इसने स्वतः हस्ताक्षरित प्रमाणपत्र पर भरोसा करने के लिए प्रेरित किया।

उम्मीद है की वो मदद करदे।


3
यह मेरे लिए पोर्ट 443 पर IISExpress चलाने की कोशिश कर रहा था। +1
गेरार्डो

इस समाधान ने मेरे लिए बहुत काम किया। विंडोज 10, विजुअल स्टूडियो 2015, IIS एक्सप्रेस 10.
ग्लेन

1
यदि यहां किसी को IIS एक्सप्रेस द्वारा उपयोग किए जा रहे विशिष्ट पोर्ट में समस्या हो रही है, तो आप यह जांचना चाहेंगे कि क्या किसी व्यक्ति के पास उस पोर्ट का उपयोग करके IIS में पंजीकृत साइट है या नहीं। आज मेरा दिन था।
क्रिस मैरिसिक

2
विंडोज 10 में, IIS एक्सप्रेस में मरम्मत का विकल्प है। आपको कंट्रोल पैनल से गुजरना होगा। स्वीकृत उत्तर ने मेरे लिए काम किया।
joerage

1
यदि आप कमांड लाइन का उपयोग करते हुए थक गए हैं, तो आप ऐसा करने के लिए Jexus Manager का उपयोग कर सकते हैं। blog.lextudio.com/…
Lex Li

40

कभी-कभी यह त्रुटि स्थानीयहोस्ट के लिए एक अलग प्रमाणपत्र स्थापित होने के कारण होती है। यदि ऐसा है, तो IIS एक्सप्रेस प्रमाणपत्र को पुनर्स्थापित करने की कोई आवश्यकता नहीं है। इसके बजाय, आप अपने मौजूदा प्रमाणपत्र का उपयोग करने के लिए IIS एक्सप्रेस को बताने के लिए निम्नलिखित कर सकते हैं:

  1. यहाँ वर्णित प्रमाण पत्र MMC स्नैप-इन खोलें
  2. व्यक्तिगत के तहत अपना स्थानीयहोस्ट सर्टिफिकेट खोजें ... प्रमाण पत्र प्राप्त करें और उसका थंबप्रिंट प्राप्त करें:
    1. लोकलहोस्ट सर्टिफिकेट के लिए प्रॉपर्टीज़ डायलॉग लाओ और थम्बप्रिंट प्रॉपर्टी ढूंढो
    2. नोटपैड (या जो कुछ भी) में थंबप्रिंट वैल्यू चिपकाएं और शुरुआत में रिक्त स्थान और किसी विशेष वर्ण को हटा दें
  3. अपने IIS एक्सप्रेस परियोजना के पोर्ट मूल्य का पता लगाएं:
    1. विज़ुअल स्टूडियो में प्रोजेक्ट प्रॉपर्टीज पर जाएं और "एसएसएल यूआरएल" मान पाएं , जैसे " https: // localhost: 44300 / MyApp "।
    2. इस उदाहरण में 44300 पोर्ट नंबर है। यदि आपका अलग है, तो उस मूल्य को बाद के कमांड में बदल दें।
  4. एक प्रशासनिक कमांड प्रॉम्प्ट में निम्न आदेशों का उपयोग करें (पॉवर्सशेल नहीं):

netsh http delete sslcert ipport=0.0.0.0:44300

netsh http add sslcert ipport=0.0.0.0:44300 certhash=your_cert_hash_with_no_spaces appid= {123a1111-2222-3333-4444-bbbbcccdddee}

उपरोक्त कमांड में दिए गए दिशानिर्देश को आपके द्वारा उत्पन्न किए जाने वाले एक के साथ बदला जा सकता है। यह किसी भी मौजूदा IIS एक्सप्रेस मूल्य के अनुरूप नहीं है।

आगे के संदर्भ के लिए IIS एक्सप्रेस में URL बाइंडिंग विफलताओं को हैंडल करना देखें ।


2
Jexus Manager, blog.lextudio.com/ का उपयोग करने के लिए एक अधिक दृश्य तरीका है। फिर आपको प्रमाणपत्र हैश जैसे विवरण याद रखने की आवश्यकता नहीं है।
लेक्स ली

अगर आपको "पैरामीटर गलत है।" एरर - पहले इस एपिड को फिर सर्टिफिकेट का उपयोग करें। उदाहरण: netsh http ऐड sslcert ikut = 0.0.0.0: 44300 appid = {C21B9F4D-2A5D-4160-81C8-FBCC3EFC335E} प्रमाण पत्र = your_cert_hash_with_no_spaces
gmsi

36

यह भी ध्यान दें कि IIS एक्सप्रेस एसएसएल के साथ काम करने के लिए, 44399 रेंज ( http://www.iis.net/learn/extensions/use-iis-express/running-iis-express- के माध्यम से पोर्ट का उपयोग 44300 में करने की आवश्यकता है । बिना प्रशासनिक-विशेषाधिकार )।

इसलिए, यदि आप विजुअल स्टूडियो में IIS एक्सप्रेस का उपयोग कर रहे हैं, तो सुनिश्चित करें कि चयनित पोर्ट आवश्यक सीमा में है: बनाम आईआईएस एक्सप्रेस के लिए सेटिंग


3
मैं बिना किसी समस्या के बर्नी व्हाइट के जवाब में कमांड का उपयोग करने के बाद इस सीमा के बाहर एक बंदरगाह का उपयोग करने में सक्षम था। विंडोज 10 / विजुअल स्टूडियो कम्युनिटी 2015 / .नेट कोर 1.0.1 / IIS एक्सप्रेस 10.0
रयान थॉमस

1
धन्यवाद! इससे मेरे लिए समस्या हल हो गई। अजीब है कि दृश्य स्टूडियो उस के बारे में चेतावनी नहीं देता है।
इरविन मेयर

4
44300-44399 केवल एक प्रमाण पत्र मैप के साथ डिफ़ॉल्ट पोर्ट रेंज है। आप कॉल करके आसानी से समान प्रमाणपत्र मानचित्रण बना सकते हैं netsh, या केवल Jexus Manager, blog.lextudio.com/ ...
Lex Li

12

नए Chrome 58 के साथ, नीचे दिए गए उत्तरों से कुछ भी मदद नहीं करेगा। मैंने प्रमाणपत्रों को अनइंस्टॉल करने / पुन: स्थापित करने में केवल 1 घंटा बिताया है और यह पता लगाने की कोशिश कर रहा हूं कि समस्या कहां है।

जाहिरा तौर पर Chrome 58 प्रमाणपत्र को मना कर देगा क्योंकि "अनुपलब्ध_सब्जेक्टअन्टीनाम"

समाधान या तो "बैडीडिया" पासफ़्रेज़ है या यदि आपको लॉगिन का उपयोग करने के लिए पॉपअप खोलने की आवश्यकता है:

chrome: // झंडे / # अनुमति देते हैं-असुरक्षित-स्थानीय होस्ट

स्रोत और उत्थान है: https://stackoverflow.com/a/38926117/2089232 :)



1
इसके अलावा blog.lextudio.com/…
लेक्स ली

2

मैं इसे जोड़ना चाहता था, क्योंकि यह हास्यास्पद है लेकिन शायद यह किसी की मदद करेगा। ध्यान रखें कि मैंने अपनी परियोजना संपत्तियों को पहले कभी नहीं खोला था, इसलिए मुझे नहीं पता कि यह कैसे हुआ (मैंने इसे खुद नहीं बदला या इसके लिए अवसर नहीं है), लेकिन प्रोजेक्ट में> गुण> वेब मेरा एसएसएल यूआरएल मेरे सामान्य URL के रूप में सूचीबद्ध किया गया था लेकिन https के बजाय http (जैसा कि पहले https था क्योंकि यह पहले काम कर रहा था)। मैं इस पृष्ठ पर सूचीबद्ध सभी चरणों से गुजरा , वीएस की स्थापना रद्द की, फिर आईआईएस, और अंत में त्रुटि देखी गई जो कि होना चाहिए था https: // mySSLURL (लेकिन https में s याद कर रहा था)। एक बार जब मैंने http से बदलकर https सब कुछ फिर से काम किया।



0

मेरे पास अपने वीएस 2017 को नवीनतम संस्करण (अपडेट्स) में अपडेट करने के बाद बस यह मुद्दा था और एक नया (.Net) MVC / WebAPI प्रोजेक्ट (टेम्पलेट से) बनाया। मैं अपने पोर्ट नंबरों को सही सीमा के भीतर समायोजित करके इसे ठीक करने में सक्षम था

DEV SSL के लिए Chorme Default Port Ranges

जिसे मैं यहाँ पा रहा था: https://www.pluralsight.com/guides/visual-studio-2017-resolve-ssl-tls-connections-problems-with-iis-express

उम्मीद है की यह मदद करेगा!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.