Изменить Http на Https для веб-приложения c #

#ssl

#ssl

Вопрос:

У меня есть небольшой вопрос о выборе SSL-сертификата для веб-приложения. В веб-приложении я использую Kestrel в качестве веб-сервера, и приложение не настроено в IIS.

Для клиентов я устанавливаю приложение как службу на серверном компьютере, и его используют сотрудники только в интрасети. Теперь адрес моего приложенияhttp://machineName:port но я хотел бы иметь https://machineName:port.

Вопрос 1) Возможно ли это для сайтов интрасети? Вопрос 2) Действительно ли будет нужен SSL в этом случае?
Вопрос 3) SSL работает, только если я настраиваю веб-приложение с помощью IIS?

Ответ №1:

  1. Да, это возможно. До тех пор, пока клиенты доверяют сертификату. Вы можете создать самозаверяющий сертификат и попросить клиентские компьютеры добавить его в доверенные корневые центры сертификации в Windows. Или, если интрасеть использует домен Windows, вы можете попросить центр сертификации, которому доверяют компьютеры домена, выдать сертификат.

  2. SSL всегда лучше даже в сценариях интрасети и локального хостинга. Он обеспечивает идентификацию сайта, шифрует трафик и т.д. Нужно ли это, зависит от сайта. Некоторые функции браузера, такие как использование камеры / микрофона, не будут работать, если веб-сайт не использует SSL.

  3. Kestrel позволяет использовать SSL. Проверьте документы здесь.

Комментарии:

1. Привет @Sherif Elmetainy, спасибо за ваш ответ. Ваш ответ дает мне хорошую ясность, но тогда я очень новичок в этой области сертификатов SSL. Итак, нужно немного больше ясности, нужно ли мне покупать SSL-сертификат у третьей стороны для центра сертификации или самоподписанного сертификата достаточно для производства? Другой, на стороне клиента, на одном серверном компьютере наше приложение запускается как оконная служба, сотрудники будут иметь доступ к приложению в браузере, используя serverMachineName:порт. Это мой сценарий.

2. Если у вас есть контроль над компьютерами сотрудников, вы можете использовать самозаверяющий сертификат или выдать сертификат из центра сертификации в домене. Имея контроль, я имею в виду, что вы можете добавить сертификат в их хранилище доверенных корневых полномочий на каждом компьютере. Вы также можете получить бесплатный SSL-сертификат от letsencrypt.org . Ему будут доверять все компьютеры, и вам не нужно будет устанавливать сертификат на клиентском компьютере. Но ServerMachineName не будет работать, когда вы покупаете сертификат или получаете бесплатный от letsencrypt. Домен должен быть чем-то. yourcompany.com и т.д.