#asp.net #ssl
#asp.net #ssl
Вопрос:
Я создал asp.net Проект 4.0. Я хочу включить SSL для этого. Нужно ли мне сопоставлять этот веб-проект с новым веб-сайтом в IIS. Когда я пытаюсь создать новый веб-сайт, я получаю:
Привязка ‘*:80:’ назначена другому сайту. Если вы назначите такую же привязку к этому сайту, вы сможете запустить только один из сайтов. Вы уверены, что хотите добавить эту дублирующуюся привязку?
Я пытаюсь следить за следующими сообщениями:
http://weblogs.asp.net/scottgu/archive/2007/04/06/tip-trick-enabling-ssl-on-iis7-using-self-signed-certificates.aspx
http://mscrm4humans.wordpress.com/2010/06/24/enabling-ssl-on-iis-7-0-using-self-signed-certificates/
мой IIS — 7.5.7600….
Я совершенно новичок в SSL в asp.net . Пожалуйста, предложите решение этой проблемы.
Ответ №1:
Хотя можно настроить заголовки хостов для выполнения своих задач, самый простой способ — настроить ваш новый сайт с другим IP-адресом.
Добавьте новый IP-адрес на сервер, затем настройте привязку для нового сайта к новому IP-адресу на портах 80 и 443. Настройте пул приложений для запуска с использованием .NET 4, затем для удобства вы могли бы добавить правило URLRewrite для передачи всего трафика, отличного от SSL, на HTTPS, вставив это в свой web.config:
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
</rule>
</rules>
</rewrite>
</system.webServer>
Или, если вы хотите принудительно использовать SSL, просто отметьте Force SSL
опцию в IIS для сайта.
Комментарии:
1. Это правило не включает каталоги, localhost/myapp /Test.aspx перенаправляет на localhost / Test.aspx Пожалуйста, помогите, как включить в него каталоги?
Ответ №2:
Похоже, у вас уже есть настройка сайта на порту 80. Вероятно, в вашем IIS установлен веб-сайт по умолчанию. Если вы не используете этот сайт, вы можете удалить его, прежде чем следовать инструкциям в блоге Скотта Гатри, и это должно устранить проблему.
Если вы используете веб-сайт по умолчанию, измените порт вашего нового сайта на 81 при его создании. Вы можете изменить порт на экране, показанном на втором изображении в сообщении в блоге Скотта Гатри.
Если вы хотите предотвратить попадание любого трафика, отличного от ssl, на ваш новый сайт, вам следует удалить привязку к порту 80 (или 81) после завершения всех настроек.
Ответ №3:
Для использования SSL необходимо:
- Создайте отдельный веб-сайт в IIS
- У этого веб-сайта должен быть отдельный IP-адрес, который будет привязан к порту 443
Вы не можете использовать заголовки хостов для размещения отдельных веб-сайтов в IIS и использовать SSL.
Ознакомьтесь с этой статьей для получения дополнительной справки:
http://learn.iis.net/page.aspx/144/how-to-set-up-ssl-on-iis-7/
Комментарии:
1. Это возможно только через интерфейс управления IIS. Для этого можно настроить заголовки хостов: sslshopper.com/article-ssl-host-headers-in-iis-7.html
2. Um, no. Связанная статья полезна, но ваш ответ демонстрирует непонимание. Вам не нужен отдельный IP-адрес (или имя хоста),
443
это просто стандартный порт по умолчанию. Вы можете использовать, например, порт5555
и выполнять запросы типа:https://hostname:5555/appname
В размещенной вами ссылке ничего не говорится об отдельном IP-адресе. Я думаю, вас смущает необходимость создания отдельного «веб-сайта»; веб-сайты привязаны к определенному порту (портам). В противном случае, если бы два веб-сайта были активны и прослушивали один и тот же хост и порт, то запросы к этому хосту: порт (он же «сокет») были бы неоднозначными.