wmaraci reklam

Nginx Server SSL Kurulumu

5 Mesajlar 3.465 Okunma
wmaraci reklam

agoren agoren WM Aracı Kullanıcı
  • Üyelik 12.07.2014
  • Yaş/Cinsiyet 30 / E
  • Meslek Yazılım Geliştirici
  • Konum Kocaeli
  • Ad Soyad A** G**
  • Mesajlar 304
  • Beğeniler 21 / 28
  • Ticaret 0, (%0)
Selam.

Başlamadan uyarı, Tural Abiyev uyardı sağolsun. Bu anlatımda Ubuntu kullanılmıştır. Yani Debian için de bu makaleyi kullanabilirsiniz.

Bu yazıda size basit bir olaydan bahsedeceğim. Nginx sunuculara SSL kurulumunu anlatacağım. Tabii bu kurulum yetmez. Bunun haricinde bir de imzalı bir sertifika almalısınız. Bunu zaten yazı ilerleyince göreceğiz.

Öncelikle neden SSL kullanayım diye sorabilirsiniz. WM Aracı forumunda takılırken denk geldiğim bir habere göre google SSL kullanan siteleri yukarılara taşıyacakmış. Tabii bu durum Türkiyedeki çoğu internet kullanıcısının hoşuna gitmeyebilir. Mevcut şartlarda Rapid SSL ve Comodo harici ucuz gelebilecek bir SSL sertifikası yok gibi. Gerçi o bile pahalı sayılır hani. Neyse konu bu değil.

Sunucuda olduğunuzu varsayıyorum. Nginx de kuruludur. Değilse

sudo apt-get install nginx

komutunu vererek kuruluma başlayabiliriz. Ama biz nginx kurulu varsayalım ve SSL kurulumuna geçiş yapalım. Öncelikle SSH ile sunucu bağlantımızı yapalım ve

sudo mkdir /etc/nginx/ssl

komutunu vererek nginx altında ssl adında bir klasör oluşturalım. Daha sonra ise openssl kullanarak bir key oluşturacağız.

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

Burada openssl zaten programımızın adı. Buradaki req ise bir alt komuttur. Bize çağırdığı x.509 standardını da görüyoruz. x.509, ITU tarafindan tanımlanmış standart sertifikadır. nodes ise sunucu her yeniden başlatıldığında yani reboot edildiğinde bu sertifikanın aktif olması için parola girmemizi önlüyor.

Sertifikanın ömrünün ne kadar olduğuna ise days ile karar veriyoruz. Burada örnek olarak 365 gün vermişim. Yani 1 yıl geçerli bir sertifika bu. Ardından gelen newkey ile yeni bir key yani yeni bir anahtar oluşturacağımızı ve bunu da rsa 2048 ile yapacağımızı belirtmişiz.

Son adımlar olarak da keyout parametresi ise key’in nereye çıkacağını soruyor. Daha önce oluşturmuş olduğumuz ssl klasörüne çıkartacağız. Ve out ise sertifika dosyasının yani .crt dosyasının yolunu belirtiyor. Bu ikisini aynı klasöre çıkartıyoruz.

Kısacası açıklamasını yaptığım bu komutu girdikten sonra bize:


Country Name (2 letter code) [AU]: TR
State or Province Name (full name) [Some-State]: KOCAELI
Locality Name (eg, city) []: GEBZE
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Ali GOREN
Organizational Unit Name (eg, section) []: Ali GOREN
Common Name (e.g. server FQDN or YOUR name) []: blog.aligoren.net
Email Address []: goren.ali@yandex.com


Soruları sırasıyla gelecektir. Ben bunları yaptığım şekliyle verdim size normalde karşıları boştur. Daha sonra:

ls /etc/nginx/ssl

komutu ile dosyaların oluşup oluşmadığınız kontrol edebilirsiniz. Şimdi geriye tek bir adım kaldı. Artık bu ayarları sitemiz için yapılandırmak. Bunun için:

cd /etc/nginx/sites-available

Klasörüne gitmeniz gerekiyor. Bu klasörde ls komutunu kullanarak sitelerinizi listeletin. Benim şu anki mevcut blogum için olan sitem wordpress ama sizin farklı da olabilir. Bu bir klasör değil dosyadır. Bunu nano yardımı ile açalım:

sudo nano wordpress

Burada server bloklarını bulmamız gerekecek. Yapacağımız tanımlamalar bu bloklar arasında yer alacak. Nano kullanıyorsanız CTRL+W yaparak bulabilirsiniz.


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


Gibi bir kod arayacaksınız. Burada aslında listen 80 default_server; kısmını aramanız da yetebilir. Buradaki kısmın altına listen 443 ssl; kodunu ekleyeceksiniz:


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


Şeklinde görünecek. Yine bu kısmın altına ssl key ve sertifikanızı da eklemeniz gerekiyor. Yani şöyle olması gerekmekte:


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;


Artık nginx server’ımızı yeniden başlatmamız gerekiyor. Şimdi vereceğim iki komuttan birisini kullanabilirsiniz. Ama ilkini kullanmanızı tavsiye ediyorum:


#1 ilk komut
sudo service nginx restart

#2 ikinci komut
sudo /etc/init.d/nginx reload


Eğer yeniden başlatma esnasında fail hatası alıyorsanız:

sudo nginx -s reload

komutunu vererek hataları görebilirsiniz.

Bu aşamadan sonra SSL’in kurulup kurulmadığını test edebilirsiniz. Bunun için de sitenizi

https://siteniz.com olarak çağırmanız gerekmektedir. Ben kendi blogumdaki denemeleri size göstereyim:







Görüldüğü gibi SSL sertifikamız çalışıyor ancak onaylı olmadığı hatasını alıyoruz. Bu konuda yapılacak şey onaylı bir SSL sertifikası almak ve sunucumuza onu tanımlamaktır. Bunu yazının başında da açıklamıştım ayrıca.

Anlatım bu kadar

Kaynak: Ali GÖREN
eppursimuove

kişi bu mesajı beğendi.

aligoren.com
SMM Panel, Sosyalyuvam, Bayilik Paneli, En Uygun Panel, Takipçi Paneli
reklam

TuralAbiyev TuralAbiyev root@localhost ~ / Kullanıcı
  • Üyelik 17.06.2011
  • Yaş/Cinsiyet 33 / E
  • Meslek Network & Linux/UNIX
  • Konum Rusya
  • Ad Soyad T** A**
  • Mesajlar 4146
  • Beğeniler 0 / 1357
  • Ticaret 89, (%100)
Güzel anlatım. Şimdi millet centos ve benzerinde denemesin :) Konuya debian, ubuntu gibi sunucular içindir ekleyin. apt-get den zaten anlarlarda ama yinede
eppursimuove

kişi bu mesajı beğendi.

agoren agoren WM Aracı Kullanıcı
  • Üyelik 12.07.2014
  • Yaş/Cinsiyet 30 / E
  • Meslek Yazılım Geliştirici
  • Konum Kocaeli
  • Ad Soyad A** G**
  • Mesajlar 304
  • Beğeniler 21 / 28
  • Ticaret 0, (%0)

Tural Abiyev adlı üyeden alıntı

Güzel anlatım. Şimdi millet centos ve benzerinde denemesin :) Konuya debian, ubuntu gibi sunucular içindir ekleyin. apt-get den zaten anlarlarda ama yinede


Ekledim hocam :)
 

 

aligoren.com

fupe fupe WM Aracı Kullanıcı
  • Üyelik 11.03.2012
  • Yaş/Cinsiyet 33 / E
  • Meslek yazılımcı
  • Konum Antalya
  • Ad Soyad ** **
  • Mesajlar 36
  • Beğeniler 0 / 15
  • Ticaret 0, (%0)
bu forumda pek göremediğim kalitede bir yazı olmuş. tebrikler.
 

 

32dk.com
wmaraci

emre42 emre42 WM Aracı Kullanıcı
  • Üyelik 25.04.2014
  • Yaş/Cinsiyet 31 / E
  • Meslek web programcı
  • Konum Konya
  • Ad Soyad E** E**
  • Mesajlar 34
  • Beğeniler 0 / 3
  • Ticaret 0, (%0)
Ubuntu için ssh kurulumu http://teknohayat.net/ubuntu_openssh_server_kurulumu-48.html
 

 

wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al