Nginx Servere Wildcard SSL Tanımlama

Merhaba, bu makalede size daha önceki makalede Plesk panel üzerinden ücretsiz wildcard ssl nasıl yükleyebileceğiniz konusuna değinmiştik. Şimdide nginx üzerinden nasıl wildcard ssl yükleyebilir ve nginx yapılanmasına değineceğim. Yapacağımız işlemler, ilk önce ssl sertifikalarımızı alıp sunucumuza kaydediyoruz, ardından wildcard host oluşturup ssl leri hostumuza tanımlıyoruz.

Bind DNS ve Ngnix kurulumunu https://www.zulfumehmet.com/centos-7-nginx-ve-php-kurulumu/ bu makale dizinde bulabilirsiniz.

SSL Sertifikası Oluşturma

https://www.sslforfree.com/ adresine girip domain adresimizi yukardaki gibi tanımlıyoruz.

Manually Verify Domain butonuna tıklıyoruz.

DNS kayırlarını girmemiz için önce nanodan bekts.tk.zone dosyasını açıp düzenleyelim.

İlgilili txt kayıtlarını zone dosyamıza kaydediyoruz.

Bind DNS resetleyelim bir hata alırsanız zone dosyasını tekrar kontrol ediniz.

Herhangi bir hata ile karşılaşmadıysanız Download SSL Certificate diyerek SSL dosyamızı oluşturmaya geçelim.

Sertifika Kurulumu

İlk önce boş dosyaları oluşturalım. İstediğiniz yere oluşturabilirsiniz ben /etc/nginx/ssl dizinin içinde toplayacağım ssl sertifikalarını.

echo “private_key_content” > /etc/nginx/ssl/bektastk.key
echo “certificate_content” >> /etc/nginx/ssl/bektastk.crt
echo “ca_bundle_content” >> /etc/nginx/ssl/bektastk.cbc

Yukardaki komut ile boş ssl sertifikalarımızı oluşturalım.

İlgili dosyalara ssl kopyalayalım

Örneğin bektastk.key dosyasına ilgili key kopyalayıp kaydediyorum. Diğerlerini de aynı şekilde kopyalayıp kaydedelim.

Şimdi hostumuza ait olan conf dosyasını açıyoruz.

nano /etc/nginx/sites-enabled/bektas.tk.conf

İlgili düzenleme şu şekilde olacak.

server {

server_name bektas.tk www.bektas.tk;

listen 80;

listen 443 ssl;

ssl_certificate /etc/nginx/ssl/bektastk.crt;

ssl_certificate_key /etc/nginx/ssl/bektastk.key;

if ($scheme = http) {

return 301 https://$server_name$request_uri;

}

root /var/www/bektas.tk/html;

access_log /var/www/bektas.tk/bektas_log.log;

error_log /var/www/bektas.tk/bektas_error.log;

index index.php index.html index.htm;

location / {

try_files $uri $uri/ /index.php?$args;

}

location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {

access_log off;

expires max;

}

location ~ /\.ht {

deny all;

}

location ~ \.php$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param PATH_INFO $fastcgi_path_info;

include fastcgi_params;

}

}

server {

server_name ~^(.*)\.bektas\.tk$ ;

listen 80;

listen 443 ssl;

ssl_certificate /etc/nginx/ssl/bektastk.crt;

ssl_certificate_key /etc/nginx/ssl/bektastk.key;

if ($scheme = http) {

return 301 https://$server_name$request_uri;

}

root /var/www/bektas.tk/html/wildcard;

access_log /var/www/bektas.tk/bektas_log.log;

error_log /var/www/bektas.tk/bektas_error.log;

index index.php index.html index.htm;

location / {

try_files $uri $uri/ /index.php?$args;

}

location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {

access_log off;

expires max;

}

location ~ /\.ht {

deny all;

}

location ~ \.php$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param PATH_INFO $fastcgi_path_info;

include fastcgi_params;

}

}

İlgili doya ile sitemize gelen http protokollerini https olarak yönlendirecektir. İlgili düzenlemeleri yapın domain adresini ve dosya dizinini kendi hostunuza göre ayarlayınız. Gerekli düzenlemeleri bitirdikten sonra kayır edip çıkalım ve zone dosyamızı açıp düzenleyelim.

*.bektas.tk diye A kaydı açıyoruz. Dosyayı kaydettikten sonra nginx ve bind dns resetleyelim.

Herhangi bir yanlışlık olmadıysa sunucular resetlenmesi gerekiyor. Bir hata alırsanız dosyaları kontrol ediniz. Her şey yolunda gitti ise domainimizi kontrol edelim.

Gördüğünüz gibi wildcard domainimiz güvenli olarak görünmektedir.

Bazı arkadaşlar hostları açarken 403 Forbidden hatası aldıklarını öğrendim. Log dosyasını incelediğim zaman is forbidden (13: Permission denied), bu hatayı verdiğini gördüm. Bunu aşmak için izinleri düzenlemeniz gerekmektedir.

Sırasıyla aşağıdaki komutları giriniz.

sudo setsebool -P httpd_can_network_connect on

getenforce

chcon -Rt httpd_sys_content_t /var/www/bektas.tk/html

Kolay gelsin.

Kaynak: https://www.zulfumehmet.com/nginx-serverde-hostlariniza-wildcard-ssl-ekleme/
Tarih:
Hit: 2668
Yazar: x-files
( x-files Kaynaklı )
Taglar: ssl


Yorumlar


Yorum yapabilmek için üye girişi yapmalısınız.

Yorumlar

rakkoc tarafından yazıldı. Tarih: 22/May/19 14:28
lazim oldukça dönülüp bakılan güzel bir dokuman
Mycity tarafından yazıldı. Tarih: 15/Mar/19 13:59
Adamın dibi :) çok yardımcı oldu
ontedi tarafından yazıldı. Tarih: 22/Şub/19 18:08
Şunu panelsiz windows makineler için biloya anlatir gibi anlatan yok mu
KaptaN tarafından yazıldı. Tarih: 25/Ara/18 19:38
adam üretken, adam çalışkan , adam krall ama bir madalya verilmiyor yönetim istifa:)
rakkoc tarafından yazıldı. Tarih: 25/Ara/18 13:50
Bu makale için cok teşekkür ederim dostum. Ellerine kollarına gözüne sağlık.
x-files tarafından yazıldı. Tarih: 24/Ara/18 15:41
Rica ederim.
dcpromo tarafından yazıldı. Tarih: 24/Ara/18 12:30
eline sağlık abi