IIS Express - Использование SSL для работы

Я не могу заставить IIS Express принимать безопасные соединения для разрабатываемого мной проекта VS2010 MVC3. Я могу заставить его принимать небезопасные соединения через порт 80, но не защищенные через порт 443.

Я предпринял следующие шаги, основываясь на результатах поиска в Google:

1) Находил отпечаток SHA1 для моего сервера IIS Express. подписанный сертификат, выполнив в командной строке 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) Сгенерировал новый GUID, запустив Create GUID из меню инструментов VS2010. В моем случае я получил м развивающаяся. Я могу заставить его принимать небезопасные соединения через порт 80, но не защищенные через порт 443.

Я предпринял следующие шаги, основываясь на результатах поиска в Google:

1) Находил отпечаток SHA1 для моего сервера IIS Express. подписанный сертификат, выполнив в командной строке 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) Сгенерировал новый GUID, запустив Create GUID из меню инструментов VS2010. В моем случае я получил м развивающаяся. Я могу заставить его принимать небезопасные соединения через порт 80, но не защищенные через порт 443.

Я сделал следующие шаги, основываясь на результатах поиска в Google:

1) Находил отпечаток SHA1 для моего сервера IIS Express. подписанный сертификат, выполнив в командной строке 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) Сгенерировал новый GUID, запустив Create GUID из меню инструментов VS2010. В моем случае я получил

1) Находил отпечаток SHA1 для моего самозаверяющего сертификата сервера IIS Express Server, выполнив в командной строке 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) Сгенерировал новый GUID, запустив Create GUID из меню инструментов VS2010. В моем случае я получил

1) Находил отпечаток SHA1 для моего самозаверяющего сертификата сервера IIS Express Server, выполнив в командной строке 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) Сгенерировал новый GUID, запустив Create GUID из меню инструментов VS2010. В моем случае я получил

netsh http delete sslcert ipport=0.0.0.0:443

3) Сгенерирован новый GUID, запустив команду Create GUID из меню «Инструменты VS2010». В моем случае я получил

netsh http delete sslcert ipport=0.0.0.0:443

3) Сгенерирован новый GUID, запустив Create GUID из меню VS2010 Tools. В моем случае я получил B0421A5B-FF61-47CE-892D-11AA3A9C7D2A.

4) Установил самозаверяющий сертификат на порт 443, выполнив следующее в командной строке с повышенными привилегиями:

netsh http add sslcert ipport=0.0.0.0:443 certhash=9B088F80A4FC314128F6289070BA1FC449FDD009 appid={B0421A5B-FF61-47CE-892D-11AA3A9C7D2A}

5) Изменил ACL, выполнив следующую команду из командной строки с повышенными привилегиями подсказка:

netsh http add urlacl url=https://localhost:443/ user=everyone

6) Изменен файл application.config для IIS Express, добавив привязку для порта 443 и протокола https. Раздел сайтов для файла в итоге выглядел следующим образом:

        
        
            
                
            
            
                
                
            
        
        
            
            
        
        
        
    

7) Перезапустил службу http, выполнив следующее в командной строке с повышенными привилегиями:

net stop http
net start http

8) Изменил URL-адрес проекта на вкладке Web страницы свойств моего проекта MVC. на следующее:

http://localhost/

Сохранение страницы свойств проекта вызвало реконфигурацию сервера после того, как я внес это изменение.

Когда я запускаю приложение MVC из VS2010, оно правильно связывается с http: // localhost (на порту 80, по умолчанию; Я не включил все шаги для того, чтобы заставить IIS Express работать с небезопасными / нормальными соединениями на порту 80, но по сути это шаги с 5 по 7, но с упором на http и порт 80, а не на https и порт 443).

Однако при попытке перейти к любому действию, требующему https, я получаю ошибку «сервер отказал в соединении».

Что я делаю не так?

60
задан jbtule 10 May 2016 в 14:50
поделиться