| layout | post | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| title | Asp.Net Core web uygulamalarinda HTTPS adreslere yönlendirme | ||||||||||||||||||
| date | 2018-02-03 16:15 | ||||||||||||||||||
| author | engin.polat | ||||||||||||||||||
| comments | true | ||||||||||||||||||
| category |
|
||||||||||||||||||
| tags |
|
Bir Asp.Net Core web uygulamasında, HTTP adresleri engellemek ve HTTPS adresleri kullanmak isteyebiliriz.
Action methodların üzerine, Controller sınıflarının üzerine veya GlobalFilters listesine ekleyebildiğimiz RequireHttpsAttribute sınıfı sayesinde, web uygulamamızdaki adreslerin HTTP üzerinden erişilmesini engelleyebiliyoruz.
<script src="https://gist.github.com/polatengin/db8f5c184e3c555e0c3401a9bc6506fb.js?file=RequireHttpsAttribute.cs"></script>Uyarı
Yukarıdaki kod parçaları, HTTP üzerinden gelecek tüm istekleri engeller. Böylece HTTP protokolü üzerinden gelen istekler işlenmemiş olur. Aslında yapmamız gereken, HTTP istekleri HTTPS adreslere yönlendirmek olmalı. Yani istekler işlenmeyecek şekilde engellenmez, HTTPS protokolünü kullanan adresler üzerinden cevaplanır
Yukarıdaki kod parçaları, HTTP üzerinden gelecek tüm istekleri engeller. Böylece HTTP protokolü üzerinden gelen istekler işlenmemiş olur. Aslında yapmamız gereken, HTTP istekleri HTTPS adreslere yönlendirmek olmalı. Yani istekler işlenmeyecek şekilde engellenmez, HTTPS protokolünü kullanan adresler üzerinden cevaplanır
HTTP protokolü üzerinden gelen istekleri HTTPS protokolü üzerinden çalışan adreslere yönlendirmek için aşağıdaki kodu kullanabiliriz;
<script src="https://gist.github.com/polatengin/db8f5c184e3c555e0c3401a9bc6506fb.js?file=Configure.cs"></script>Configure() methodu içerisinde çağırdığımız UseRewrite(options) methodu ile, HTTP istekleri HTTPS adreslere dönüştürebiliyoruz.