Лучший отвечающий
ASP.Net Core и принудительный HTTPS

Вопрос
-
Не работает принудительная переадресация на https. Опишу суть проблемы: Есть сайт написанный на ASP.Net Core 2.2, размещен на хостинге, при открытии ссылки http://security.netfreelancer.ru/ в некоторых браузерах открывается ссылка без переадресации на https. Про переадресацию читала тут. Добавила в код обе строчки:
app.UseHsts(); app.UseHttpsRedirection();
Edge открывает ссылку как напишешь. Напишешь с http - откроет http, напишешь с https - откроет https. Как заставить чтоб всегда и любой браузер сайт открывался через https?
30 августа 2019 г. 8:27
Ответы
-
-
Направление было правильное. Проблема в том, что мой старенький андроид 4.2.2 совершенно не захотел дружить с кодом 308. Если эту строчку закомментировать, то по умолчанию пойдет код 307.
services.AddHttpsRedirection(options => { //options.RedirectStatusCode = StatusCodes.Status308PermanentRedirect; options.HttpsPort = 443; });
Переход на https происходит, а метод запроса не может быть изменен с POST на GET (код 307). Для меня это пока выход, но хотелось бы узнать почему 307 прокатывает, а 308 приводит к пустому белому экрану на старом андроиде.
- Помечено в качестве ответа Liliya Muray 2 сентября 2019 г. 7:14
2 сентября 2019 г. 7:14
Все ответы
-
Нашла в чем проблема, нужно было настроить сервис HttpsRedirection. Добавила следующий код в ConfigureServices:
services.AddHttpsRedirection(options => { options.RedirectStatusCode = StatusCodes.Status308PermanentRedirect; options.HttpsPort = 443; });
И всё заработало.
- Помечено в качестве ответа Liliya Muray 30 августа 2019 г. 9:25
- Снята пометка об ответе Liliya Muray 31 августа 2019 г. 7:17
30 августа 2019 г. 9:25 -
Приветствую.
Https это хорошо но сертификат для защищаемого сайта характеризует сайт и его владельца.
Правильно использовать не фришные сертификаты к которым нет доверия у целевых клиентов, а Сертификаты выданные внешними коммерческими доверенными CA, к тому же цена из не так уж и велика от 50 вечнозеленых...
Удачи
Я не волшебник, только учусь. MCTS, CCNA. Если Вам помог чей-либо ответ, пожалуйста, не забывайте нажать на кнопку "Отметить как ответ" или проголосовать за "полезное сообщение". Disclaimer: Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции работодателя. Вся информация предоставляется как есть, без каких-либо на то гарантий. Блог IT Инженера, Яндекс Дзен, YouTube, GitHub.
30 августа 2019 г. 15:02Модератор -
Приветствую.
Https это хорошо но сертификат для защищаемого сайта характеризует сайт и его владельца.
Правильно использовать не фришные сертификаты к которым нет доверия у целевых клиентов, а Сертификаты выданные внешними коммерческими доверенными CA, к тому же цена из не так уж и велика от 50 вечнозеленых...
Удачи
30 августа 2019 г. 15:55 -
Нашла в чем проблема, нужно было настроить сервис HttpsRedirection. Добавила следующий код в ConfigureServices:
services.AddHttpsRedirection(options => { options.RedirectStatusCode = StatusCodes.Status308PermanentRedirect; options.HttpsPort = 443; });
И всё заработало.
31 августа 2019 г. 7:38 -
Направление было правильное. Проблема в том, что мой старенький андроид 4.2.2 совершенно не захотел дружить с кодом 308. Если эту строчку закомментировать, то по умолчанию пойдет код 307.
services.AddHttpsRedirection(options => { //options.RedirectStatusCode = StatusCodes.Status308PermanentRedirect; options.HttpsPort = 443; });
Переход на https происходит, а метод запроса не может быть изменен с POST на GET (код 307). Для меня это пока выход, но хотелось бы узнать почему 307 прокатывает, а 308 приводит к пустому белому экрану на старом андроиде.
- Помечено в качестве ответа Liliya Muray 2 сентября 2019 г. 7:14
2 сентября 2019 г. 7:14 -