การเชื่อมต่อ SSL / รีเซ็ตการเชื่อมต่อกับ IISExpress


140

ฉันใช้ Visual Studio 2013 ใหม่กับ IISExpress เป็นครั้งแรก (ก่อนหน้านี้เคยใช้เซิร์ฟเวอร์ ASP.net Development บน VS2010) ฉันพบปัญหาในการพยายามแก้ไขข้อบกพร่องของโครงการ

นี่คือสิ่งที่ฉันเห็นใน Chrome:

ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ได้อย่างปลอดภัย นี่อาจเป็นปัญหากับเซิร์ฟเวอร์หรืออาจต้องการใบรับรองการตรวจสอบสิทธิ์ไคลเอ็นต์ที่คุณไม่มี รหัสข้อผิดพลาด: ERR_SSL_PROTOCOL_ERROR

ฉันอัปเดตคุณสมบัติของฉัน -> ไฟล์เว็บเพื่อให้ Project Url ใช้ https URL ทันที อย่างไรก็ตามหลังจากทำเช่นนั้นฉันได้รับข้อผิดพลาดใหม่เมื่อเปิดตัว:

การเชื่อมต่อกับ localhost ถูกขัดจังหวะ รหัสข้อผิดพลาด: ERR_CONNECTION_RESET

ขอบคุณ


ตรวจสอบคำตอบของฉันสำหรับคำถามที่คล้ายกัน stackoverflow.com/questions/28195505/…
Bogac

1
การโพสต์ที่นี่เพราะสามารถพลาดได้ง่ายในคำตอบด้านล่าง หากคำตอบที่ได้รับการยอมรับใช้ไม่ได้กับคุณให้ลองทำสิ่งนี้แทน: stackoverflow.com/questions/20036984/…
IWriteApps

การเปลี่ยนหมายเลขพอร์ตใช้งานได้สำหรับฉัน
torun

คำตอบ:


47

หากคุณใช้ URLRewrite เพื่อบังคับให้มีการเชื่อมต่อ SSL ใน web.config ของคุณก็อาจจะเขียนที่อยู่ localhost ของคุณเพื่อบังคับให้ https หากการดีบักด้วยการเปิดใช้งาน SSL นั้นไม่สำคัญสำหรับคุณและคุณกำลังใช้ URLRewrite ให้ลองเพิ่ม<add input="{HTTP_HOST}" pattern="localhost" negate="true" />ลงในส่วนการเขียนไฟล์ web.config ของคุณ มันจะหยุดเขียนใหม่สำหรับที่อยู่ localhost ใด ๆ แต่ปล่อยให้มันอยู่ในสภาพแวดล้อมการผลิต หากคุณไม่ได้ใช้ URLRewrite หรือต้องการแก้ไขข้อบกพร่องโดยใช้ SSL http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspxอาจช่วยได้ สำหรับ VS2010 แต่น่าจะพอเพียงสำหรับ VS2013 เช่นกัน


7
ฉันทำให้มันทำงานได้โดยการเพิ่มบรรทัดนั้นไปยัง URLrewrite และเปลี่ยนพอร์ตให้อยู่ในช่วง ": 44300-: 44398" (ดูคำตอบด้านล่างโดย uosef)
Rubanov

ใช่! หลังจากสองสามชั่วโมงเกือบจะสูญเสียความคิดของฉันนี่คือสิ่งที่ช่วยฉัน!
waka

363

ผมได้รับ ERR_CONNECTION_RESET เพราะสตูดิโอ 2013 / IIS เอ็กซ์เพรสแอปกำหนดค่าภาพของฉันหมายเลขพอร์ตไม่ได้อยู่ในช่วง: 44300-: 44398 (ฉันจำไม่ได้ว่าต้องยกเลิกคำเตือนใด ๆ เพื่อออกจากช่วงนั้น) การเปลี่ยนหมายเลขพอร์ตเป็นบางอย่างในช่วงนี้คือทั้งหมดที่ฉันต้องทำเพื่อให้ทำงานได้

ฉันสังเกตเห็นสิ่งนี้หลังจากตรวจสอบnetsh http show sslcert > sslcert.txtผลลัพธ์และสิ่งที่คลิกกับสิ่งที่ฉันอ่านเมื่อเร็ว ๆ นี้เกี่ยวกับหมายเลขพอร์ต


53
ฉันเสียใจที่ฉันมีเพียงหนึ่ง upvote ที่จะให้สำหรับโพสต์นี้ ฉันจะแก้ไขเรื่องไร้สาระเช่นนี้ก่อนหน้าได้อย่างไร
quillbreaker

6
คุณยังสามารถใช้netsh http add sslcert ...เพื่อเพิ่มพอร์ตที่คุณต้องการใช้ มีประโยชน์ในบางกรณี
brazilianldsjaguar

3
Crikey นี้กินมากหลายชั่วโมงฉันจะไม่กลับไป ... netshเพื่อช่วยเหลือนี่เป็นสิ่งที่คุ้มค่ากับการโพสต์บล็อก ...
Jim

3
ฉันพบว่าหมายเลขพอร์ตช่วงนี้มีการบันทึกไว้ในส่วนการใช้พอร์ต SSL ที่กำหนดเองของเอกสารการผูก URL ล้มเหลวในเอกสารคู่มือIIS Express
Schmalls

2
ยังคงทำงานกับ Visual Studio 2017 / IIS Express 10
TvdH

87

ตรวจสอบให้แน่ใจว่าได้ลบใบรับรอง 'localhost' ก่อนหน้าใด ๆ เนื่องจากอาจขัดแย้งกับใบรับรองที่สร้างโดย IIS Express ฉันมีข้อผิดพลาดเดียวกันนี้ (ERR_SSL_PROTOCOL_ERROR) และในที่สุดฉันก็ใช้เวลาหลายชั่วโมงกว่าที่จะคิดออกหลังจากลองใช้ "วิธีแก้ปัญหา" มากมาย ความผิดพลาดของฉันคือฉันได้สร้างใบรับรอง 'localhost' ของตัวเองและมีสองอย่าง ฉันต้องลบทั้งสองและให้ IIS Express สร้างมันขึ้นมาใหม่

นี่คือวิธีที่คุณสามารถตรวจสอบและลบใบรับรอง 'localhost':

  • ที่ Start ให้พิมพ์ -> mmc.exe
  • ไฟล์ -> เพิ่ม / ลบ Snap-in ...
  • เลือกใบรับรอง -> เพิ่ม> -> บัญชีคอมพิวเตอร์ -> คอมพิวเตอร์ในพื้นที่
  • ตรวจสอบภายใต้ใบรับรอง> ส่วนบุคคล> ใบรับรอง
  • ตรวจสอบให้แน่ใจว่าใบรับรอง localhost ที่มีอยู่นั้นมีชื่อที่เรียกง่ายว่า "IIS Express Development Certificate" ถ้าไม่ลบออก หรือหากมีหลายรายการให้ลบทั้งหมด

บน Visual Studio เลือกโครงการและภายใต้แท็บคุณสมบัติเปิดใช้งาน SSL = true บันทึกสร้างและเรียกใช้ IIS Express จะสร้างใบรับรอง 'localhost' ใหม่

หมายเหตุ:หากไม่ได้ผลให้ลองใช้สิ่งเหล่านี้: ตรวจสอบให้แน่ใจว่าได้ปิดการใช้งาน IIS Express ในโปรเจ็กต์ VS และหยุดแอปที่รันอยู่ทั้งหมดก่อนที่จะลบใบรับรอง 'localhost' นอกจากนี้คุณสามารถไปที่ 'แผงควบคุม> โปรแกรม' และซ่อมแซม IIS Express


2
ในกรณีของฉันการตั้งค่าใบรับรอง IIS หายไป แต่ใบรับรองอยู่ในแผ่นดิสก์ การตั้งค่าใบรับรอง SSL และการอัพเดตการเชื่อมโยง HTTPS บนเว็บไซต์ช่วย เป็นสิ่งสำคัญที่จะต้องตั้งค่าการเชื่อมโยง https อีกครั้งแม้ว่าใบรับรอง SSL ได้ถูกเลือกไว้แล้วในคอมโบ
opewix

10
จำเป็นต้องซ่อมแซม IIS Express ตอนนี้ทำงานได้อย่างสมบูรณ์ ขอบคุณ
Homam

1
ขอบคุณ. ในกรณีของฉันฉันได้ลบใบรับรองออกจากคอมพิวเตอร์โดยไม่ตั้งใจ พบเมื่อฉันพยายามเรียกใช้งานคำสั่งนี้และพบว่า: "การเพิ่มใบรับรอง SSL ล้มเหลวข้อผิดพลาด: 1312 เซสชันการเข้าสู่ระบบที่ระบุไม่มีอยู่อาจถูกยกเลิกไปแล้ว" netsh http delete sslcert ipport=0.0.0.0:443 netsh http add sslcert ipport=0.0.0.0:443 appid="{GUID-APP-ID}" certhash="THUMBPRINTOFMYCERTIFICATEINHEXADECIMAL"
UKM

นั่นมัน! ทำสำเนา certs และต้องทำส่วนซ่อมด้วยเช่นกัน
madamission

36

ฉันกำลังสรุปขั้นตอนต่าง ๆ ที่ช่วยฉันในการแก้ไขปัญหานี้:

  1. ตรวจสอบให้แน่ใจว่าช่วงพอร์ต SSL (ใช้โดย IIS express) อยู่ระหว่าง 44300-44398

ระหว่างการติดตั้ง IIS Express ใช้ Http.sys เพื่อสำรองพอร์ต 44300 ถึง 44399 สำหรับการใช้ SSL สิ่งนี้ช่วยให้ผู้ใช้มาตรฐาน (ไม่มีสิทธิ์ยกระดับ) ของ IISExpress เพื่อกำหนดค่าและใช้ SSL สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการอ้างอิงนี้ที่นี่

  1. เรียกใช้คำสั่งด้านล่างในฐานะผู้ดูแลระบบในพรอมต์คำสั่ง สิ่งนี้จะเอาท์พุทการผูกใบรับรอง SSL ในคอมพิวเตอร์ จากรายการนี้ค้นหาใบรับรองที่ใช้โดย IIS express สำหรับพอร์ตที่เกี่ยวข้อง:

netsh http show sslcert> sslcert.txt

  1. ค้นหารายการด้านล่างใน sslcert.txt (ในกรณีของฉัน IIS Express ทำงานที่พอร์ต 44300)

IP: พอร์ต : 0.0.0.0:44300

ใบรับรองแฮช : eb380ba6bd10fb4f597cXXXXXXXXXXXXX

ID แอปพลิเคชัน : {214124cd-d05b-4309-XXX-XXXXXXX}

  1. ดูในคอนโซลการจัดการ IIS Express (RUN (Ctrl + R) -> inetmgr.exe) และค้นหาว่ามีใบรับรองที่เกี่ยวข้องอยู่ในใบรับรองเซิร์ฟเวอร์หรือไม่

(คลิกที่ ServerRoot -> ภายใต้ส่วน IIS () -> เปิดใบรับรองเซิร์ฟเวอร์)

  1. หากค่าเริ่มต้น localhost ของคุณใช้ใบรับรองที่แตกต่างจากที่อยู่ในขั้นตอนที่ 3 ให้ดำเนินการตามขั้นตอนด้านล่าง

netsh http delete sslcert ipport = 0.0.0.0: 44300

netsh http add sslcert ipport = 0.0.0.0: 44300 certhash = New_Certificate_Hash_without_space appid = {214124cd-d05b-4309-XXX-XXXXXXXX}

New_Certificate_Hash จะเป็นใบรับรองเริ่มต้นของคุณเชื่อมโยงกับ localhost ของคุณ (ที่เราพบในขั้นตอนที่ 4) หรือที่คุณต้องการเพิ่มเป็นใบรับรองใหม่

PS ขอบคุณสำหรับคำตอบของคุณuosɐſ (ซึ่งช่วยฉันในการแก้ไขปัญหานี้)


8
ฮาการเปลี่ยนพอร์ตจาก 53xxx เป็น 44300 ทำให้ฉันทำได้
cdonner

ต้องทำหลังจากเปลี่ยนจาก IIS เป็น IISExpress
K0D4

2
การเปลี่ยนพอร์ตก็ใช้ได้สำหรับฉันเช่นกัน ไม่มีใครรู้ว่าทำไมพอร์ตต้องอยู่ในช่วงนี้และตั้งค่าที่ใด
จิม

เปลี่ยนพอร์ตสำหรับผู้ชนะ! และเช่นเดียวกันสำหรับความคิดเห็นของจิมว่าทำไมพอร์ตต้องอยู่ในช่วง 44300-44398
TChadwick

ระหว่างการติดตั้ง IIS Express ใช้ Http.sys เพื่อสำรองพอร์ต 44300 ถึง 44399 สำหรับการใช้ SSL สิ่งนี้ช่วยให้ผู้ใช้มาตรฐาน (ไม่มีสิทธิ์ยกระดับ) ของ IISExpress เพื่อกำหนดค่าและใช้ SSL สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับเรื่องนี้โปรดดูที่นี่ -> docs.microsoft.com/en-us/iis/extensions/using-iis-express/ ......
Karthik

26

ปัญหาที่ฉันประสบนั้นเกี่ยวข้องกับฉันบ้างในบางเวลาการเปิดใช้งาน HSTS สำหรับ localhost และไม่ทราบว่าสิ่งนี้จะทำลายhttp: // localhost: someport ของฉันใน IIS Express ของฉันเสียหาย

HSTS บอกเบราว์เซอร์ (Chrome ในกรณีของฉัน) ให้ขอ URL โดยใช้ HTTPS เสมอ ดังนั้นแม้ว่าฉันไม่ได้เปิดใช้งาน SSL สำหรับแอป MVC 5 ของฉันเบราว์เซอร์จะพยายามเข้าถึงเว็บไซต์ของฉันโดยใช้ HTTPS ใน URL แทนที่จะเป็น HTTP

การแก้ไข?

  1. ท่องไปที่ chrome: // net-internals / # hsts
  2. ในส่วนลบให้ป้อน "localhost" และลบบันทึกจาก Chrome

1
ใช่ hsts อาจเป็นสาเหตุของปัญหานี้ ขอบคุณสำหรับสิ่งนี้
Kosmo

12

ไม่มีตัวเลือกใด ๆ ที่ได้ผลสำหรับฉัน ฉันต้องทำดังต่อไปนี้:

  1. ถอนการติดตั้ง IIS Express 8.0
  2. ลบการกำหนดค่าทั้งหมดในไดเรกทอรีเอกสารของฉันสำหรับ IIS Express
  3. ติดตั้ง IIS Express 8.0 อีกครั้ง
  4. ลบโครงการในเครื่องท้องถิ่นของฉันและดาวน์โหลดเวอร์ชันใหม่สำหรับ TFS
  5. เรียกใช้โปรเจ็กต์ - จากนั้นรันบน SSL และฉันสามารถดีบักได้

ฉันได้รับขั้นตอนจากกระทู้นี้

หวังว่านี่จะช่วยได้


2
ฉันเพิ่งยกเลิกการติดตั้งด่วนและติดตั้งใหม่ ตอนนี้ใช้ได้แล้ว
Xin

5
ในกรณีของฉันมันก็เพียงพอแล้วที่จะซ่อมแซมการติดตั้ง IIS (ในแผงควบคุม)
romanoza

และคนจ่ายเงิน Microsoft สำหรับสิ่งนี้ ต้องออกแบบซอฟต์แวร์อย่างไม่น่าเชื่ออย่างไม่น่าเชื่อว่าการแก้ไขเพียงอย่างเดียวคือการถอนการติดตั้งและติดตั้งใหม่ทั้งหมดหรือไม่!
Jez

@Jez - ไม่ฟรี
Eric Kelly

6

ในกรณีของฉันฉันสร้างใบรับรองที่ลงชื่อด้วยตนเองและทำงานได้ยกเว้นฉันได้รับข้อผิดพลาดในเบราว์เซอร์เนื่องจากใบรับรองไม่น่าเชื่อถือ ดังนั้นฉันย้ายใบรับรองไปไว้ในโฟลเดอร์ผู้ให้บริการออกใบรับรองที่เชื่อถือได้> ใบรับรองใน Snapin ใบรับรอง มันใช้งานได้และจากนั้นฉันก็ปิด Visual Studio สำหรับวันนั้น

วันต่อมาฉันเริ่มโครงการและได้รับข้อผิดพลาดที่กล่าวถึงในคำถามเดิม ปัญหาคือใบรับรองที่คุณกำหนดค่า IIS Express ด้วยจะต้องมีอยู่ในโฟลเดอร์ส่วนบุคคล> ใบรับรองมิฉะนั้น HTTPS จะหยุดทำงาน เมื่อ IIS Express เริ่มต้นสำเร็จคุณสามารถลากใบรับรองกลับไปยังตำแหน่งที่เชื่อถือได้ มันจะทำงานต่อไปจนกว่าคุณจะเริ่มต้น IIS Express ใหม่

ไม่อยากยุ่งกับการลากใบรับรองไปมาทุกครั้งฉันแค่วางสำเนาใบรับรองไว้ในทั้งสองแห่งและตอนนี้ทุกอย่างก็ใช้ได้ดี


2
คุณสามารถคัดลอก + วางใบรับรองภายในสแน็ปอินใบรับรองได้ราวกับว่าเป็นไฟล์ปกติ เอาฉันปีเพื่อหาที่
Simon_Weaver

6

ฉันมีปัญหาเดียวกันใน Visual Studio 2015 เพราะฉันใช้การเชื่อม SSL ใน web.config

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

และฉันสามารถแก้ไขปัญหาได้ด้วยคำตอบของ Mr.djroedger โดยการแทนที่

<add input="{HTTPS}" pattern="off" />

กับ

<add input="{HTTP_HOST}" pattern="localhost" negate="true" />

ลงใน web.config ของฉันดังนั้นรหัสของฉันคือ

<rewrite>
  <rules>   
    <rule name="HTTP to HTTPS Redirect" stopProcessing="true">
      <match url="(.*)" />
      <conditions>
         <add input="{HTTP_HOST}" pattern="localhost" negate="true" />
      </conditions>
         <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Found" />
    </rule>
 </rules>
</rewrite>

4

ฉันมีปัญหานี้ฉันได้กำหนดค่าไซต์ของฉันสำหรับ global ต้องการ https ใน FilterConfig.cs

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new HandleErrorAttribute());
        filters.Add(new RequireHttpsAttribute());
    }

ฉันลืมเปลี่ยน URL โครงการเป็น https: จากบทช่วยสอนนี้http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-app-membership-oauth- sql-database /ภายใต้การเปิดใช้งาน SSL ส่วนที่ 4 ทำให้เกิดข้อผิดพลาดที่คุณได้รับ


4

ปัญหาที่ฉันเกี่ยวข้องกับคำตอบของ @Jason Kleban แต่ฉันมีปัญหาเล็กน้อยเกี่ยวกับการตั้งค่าของฉันในคุณสมบัติ Visual Studio สำหรับ IIS Express

ตรวจสอบให้แน่ใจว่าหลังจากที่คุณเปลี่ยนพอร์ตให้อยู่ในช่วง: 44300 ถึง 44399 ที่อยู่จะเริ่มต้นด้วย HTTPS

ป้อนคำอธิบายรูปภาพที่นี่


3

ปัญหาอื่นที่เกิดขึ้นกับฉันสองครั้ง:
ใน IIS Express applicationhost.configคำสั่งของการเชื่อมโยงนั้นสำคัญ การผูกข้อมูลหนึ่งรายการอาจสำคัญกว่าการผูก SSL ของคุณทำให้ไม่สามารถใช้งานได้

ตัวอย่าง:

<site name="MySite007" id="1">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Users\myuser\projects\mysolutionfolder\MyProject.Service" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation=":8081:localhost" />
        <binding protocol="http" bindingInformation=":8080:" /><!-- evil binding -->
        <binding protocol="https" bindingInformation="*:44327:localhost" />
    </bindings>
</site>

คุณอาจเพิ่มการเชื่อมโยงที่คล้ายกับอันที่สองเพื่อให้สามารถเข้าถึง WebService ของคุณได้จากภายนอก localhostคุณอาจจะได้เพิ่มผูกพันคล้ายกับคนที่สองที่จะสามารถเข้าถึงเว็บเซอร์ของคุณจากภายนอกเนื่องจากการเชื่อมโยงนี้ฟังบนที่อยู่ใด ๆ ดูเหมือนว่าจะแทนที่การผูก SSL แม้ว่าจะใช้พอร์ตอื่น

ลบความผูกพันที่ชั่วร้ายหรือเลื่อนลง


สิ่งนี้แก้ไขได้สำหรับฉัน ขอบคุณ!
richb

3

การลบ IIS Express และไดเรกทอรี vs และใช้ช่วงพอร์ต ssl ของ 44300 ถึง 44399 (รวม) จากบทความนี้ได้ผลสำหรับฉัน


ขอบคุณสำหรับสิ่งนี้ - ใช้งานได้สำหรับฉันยกเว้นฉันไม่ได้รับแจ้งให้เชื่อถือใบรับรองใน VS - ฉันขี้เกียจเกินไปที่จะทำอะไรเกี่ยวกับสิ่งนั้นดังนั้นจะไม่สนใจคำเตือนและดำเนินการต่อ!
เดฟ

2

นี่เป็นเรื่องเล็ก ๆ น้อย ๆ ที่ได้ยินจากเพื่อนร่วมงาน แต่ถูกกล่าวหาว่านี่เป็นปัญหาของการบังคับใช้โครเมี่ยม https ฉันมักจะเปิดตัวใน Firefox ดังนั้นฉันไม่เคยเห็นปัญหานี้มาก่อน การใช้ Firefox หรือ ie ทำงานกับเพื่อนร่วมงานของฉัน


1

ปัญหาของฉันเกิดจากพู้ทำเล่น เมื่อพู้ทำเล่นผิดพลาดบางครั้งมันยุ่งกับการตั้งค่าพร็อกซีของคุณ เพียงเปิดตัว Fiddler ดูเหมือนจะแก้ไขทุกอย่าง (บางทีมันอาจซ่อมแซมตัวเองอย่างใด)


1

ตัวตรวจสอบการติดตั้งใบรับรอง ' Digicert ' มักจะมีประโยชน์ในสถานการณ์เช่นนี้

ฉันสามารถตรวจสอบความถูกต้องของใบรับรอง SSL ที่เป็นสิ่งที่ฉันคาดหวังจากการเปรียบเทียบหมายเลขซีเรียล

ป้อนคำอธิบายรูปภาพที่นี่

สำหรับฉัน @Jason Kleban คำตอบเป็นปัญหาจริง แต่อาจเป็นประโยชน์อย่างมากในการตรวจสอบการยืนยันขั้นพื้นฐานของคุณเกี่ยวกับใบรับรองที่กำลังโหลด


ว้าวขอบคุณมาก ทางออกเดียวที่ได้ผลสำหรับฉัน
เฟอร์นันโดซิลวา

1

หากคุณจำเป็นต้องใช้พอร์ตนอกช่วง 44300-44399 นี่เป็นวิธีแก้ไข:

  • สร้างไซต์ใหม่ใน IIS (ไม่ใช่ด่วน)
  • ผูก HTTPS กับพอร์ตที่คุณต้องการ
  • สำหรับใบรับรอง SSL เลือกใบรับรองการพัฒนา IIS Express
  • เมื่อสร้างเว็บไซต์แล้วให้หยุดเนื่องจากไม่จำเป็นต้องเปิดใช้งานจริง

สิ่งนี้ลงทะเบียนใบรับรองการพัฒนา IIS Express กับพอร์ตนั้นและเป็นวิธีที่ง่ายที่สุดที่ฉันพบว่าได้รับตามข้อกำหนดช่วง 44300-44399


0

ฉันแค่สร้างคอมพิวเตอร์ขึ้นมาใหม่ ชุดข้อความนี้ให้เบาะแสที่ฉันรับรู้ในการตั้งค่าโครงการ> เว็บโครงการได้รับการกำหนดค่าให้ใช้ HTTP และพอร์ต HTTP เมื่ออัปเดตเป็น HTTPS และพอร์ต HTTPS ที่ถูกต้องทุกอย่างจะเริ่มทำงานอีกครั้ง


0

เพื่อปฏิบัติตามคำตอบอื่น ๆ เกี่ยวกับการตั้งค่าพอร์ต SSL ระหว่าง 44300 และ 44399 ฉันไม่สามารถเปลี่ยนคุณสมบัติ SSL ที่เปิดใช้งานใน Visual Studio หรือตั้งค่า URL URL เฉพาะ คำตอบอื่น ๆ เช่นการซ่อม IIS Express ไม่ได้ช่วยอะไร วิธีแก้ไขคือเข้าไปในโฟลเดอร์. vs ขนานกับไฟล์ sln เปิดโฟลเดอร์ย่อย config จากนั้นแก้ไขไฟล์ applicationhost.config จากนั้นฉันเพิ่มบรรทัด https ด้วยตนเองและรีสตาร์ท VS

<binding protocol="http" bindingInformation="*:24941:localhost" />
                <binding protocol="https" bindingInformation="*:44301:localhost" />

0

ในกรณีของฉันฉันลืมไปเลยว่าฉันมีการตั้งค่าการเชื่อมโยง (ในกรณีของฉัน) https: // localhost: 44300ใน IIS แบบเต็ม คุณมีทั้งคู่ไม่ได้!


คุณสามารถมีได้ทั้งคู่ตราบใดที่ทั้งคู่ไม่ได้ทำงานพร้อมกัน
trnelson

0

ในกรณีของฉัน localhost url ถูกเปลี่ยนเส้นทางไปที่https: // localhostเมื่อฉันทำการดีบั๊ก เรื่องนี้เกิดขึ้นจากช่วงเวลาหนึ่งไปยังอีกช่วงเวลาหนึ่งโดยไม่ต้องเปลี่ยนอะไรเลย ฉันแก้ไขมันด้วยการรีโหลดไปยังเบราว์เซอร์อย่างหนัก ที่นี่การเชื่อมโยง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.