ana sayfa > Linux, Nginx > Nginx Self-Signed SSL sertifikası oluşturma

Nginx Self-Signed SSL sertifikası oluşturma

Çarşamba, 15 Kas 2017 yorum ekle yorumlara git

Merhabalar sizlere ilk yazımda nginx web sunucusunun kurulu olduğu bir ubuntu makinada Self-Signed SSL sertifikası oluşturmayı anlatacağım umarım işe yarar bir paylaşım olur.

1. adımımız nginx klasörünün altında ssl adlı bir klasör oluşturmak.

sudo mkdir /etc/nginx/ssl

2. adımımız da ise openssl kullanarak keyimizi oluşturacağız.

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt

Yukarda ki komutumuz da ki alt komutların açıklamasını şöyle yapıyorum;

req -x509: Bu alt komut, X.509 sertifika imzalama isteği (CSR) yönetimini kullanmak istediğimizi belirtir. x.509, ITU tarafindan tanımlanmış standart sertifikadır.

-nodes: Bu ise sunucumuzu her yeniden başlattığımız da herhangi bir kullanıcı müdahalesi olmadan yani parola girmemizi gerektirmez.

-days 365 : Bu seçenek, sertifikanın geçerli sayılacağı süreyi ayarlar. Bu komutumuz da biz 365 gün olarak ayarladık.

-newkey rsa: 2048 : Bu komutumuz ile yeni bir anahtar oluşturmak istediğimizi ve rsa 2048 anahtarı ile yapmasını söylüyoruz.

-keyout  ve -out : Bu satırda ise oluşturduğumuz özel anahtar dosyalarının nereye yerleşeceğini gösterir yani ilk adımımızdaki /etc/nginx/ssl klasörüne sertifika dosyalarını yükler.

Yukarda ki komutumuzu yazdıktan sonra bize sunucumuz hakkında şöyle sorular gelecektir. Ben kendi bilgilerime göre doldurdum sizin karşınıza geldiğinde sizde kendinize göre ayarlayabilirsiniz.

Country Name (2 letter code) [AU]:TR
State or Province Name (full name) [Some-State]:Ankara
Locality Name (eg, city) []:Yenimahalle
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Ertugrul Kemaloglu
Organizational Unit Name (eg, section) []:Ertugrul Kemaloglu
Common Name (e.g. server FQDN or YOUR name) []:ertugrulkemaloglu.com
Email Address []:info@ertugrulkemaloglu.com

Bu formu doldurduktan sonra /etc/nginx/ssl bu klasöre gelerek dosyalarımızın oluşup oluşmadığını kontrol edebilirsiniz.

3. Adımımız da ise sitemizin conf dosyasını düzenleyip ssl satırımızı eklemek olacaktır.

cd /etc/nginx/sites-available

Bu komutumuz ile sitemizin bulunduğu nginx dosyasını acıyoruz benim sitemin dosyası ertugrulkemaloglu siz kendinize uygun olanı açacaksınız.

nano ertugrulkemaloglu yazıp conf dosyasını açıyoruz.

Açtığımız dosyada şöyle bir satır göreceksiniz

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

Bu satırı şöyle değiştiriyoruz.

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
listen 443 ssl;

Daha sonra yukarda oluşturduğumuz sertifika dosyalarımızı klasör yollarını da bu satırın altına ekliyoruz. Şu şekilde;

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
listen 443 ssl;

ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;

Daha sonra dosyamızı kaydedip cıkıyoruz ve nginx -t komutunu komut satırımıza yazıp hata alıp almadığımızı sorguluyoruz.

Bu işlemleri tamamladıktan sonra /etc/init.d/nginx reload ve restart yazarak nginx servisimizi yeniden başlatıyoruz.

Bundan sonra yapacağınız tek şey sitenize https:// ile bağlanabilirsiniz ancak onaylı olmadığı hatasını alırsınız burada yapılacak tek şey onaylı bi SSL sertifikası alıp sunucumuza tanımlamaktır.

Categories: Linux, Nginx Tags: ,
  1. şimdilik yorum yok.
  1. şimdilik geri bağlantı yok