Articles by "nginx"

29Ekim Açık Kaynak açılış Akademik Bilişim 2012 Akademik Bilişim 2012 Uşak akgül all Alt+Ctrl+Delete altlinux Anatolya installer apache apache2 arm AtlantiS autoindex backup bağlantı ban banana bash bash script belediye betik bind9 boot bootloader bootparametre böl burg cache canlicdrom cdrom centos CHKUSER chrome clone clonezilla CloneZilla ile Remote Disk Clone işlemi cron crontab çöp dd denizaltı denizaltı kablo Desteği destek Dil Disk disk eklemek disket dizin şifreleme django djb dkim dns DNS sistemi docker Domain download drbl dvd e-posta eğitim eklenti EniXma eposta eQmail esxi ev ev almak fail2ban fake fakemail feed feedbro ffmpeg find Firefox format fortran free FreeBSD freenas ftp full backup Gazze Genel Gentoo Getgnu.org gezegen git github gitweb Gmail gnupg Gökşin Akdeniz görev Görsel gpg grub grub2 günlük Güvenlik Hacker harddisk hizmet hosting id_rsa imap index indimail indir internet ipv4 ipv6 iso israil İşletim Sistemi kablo KAMP kernel kernellogo kesin çözüm key klonlamak komut konsol koruma lampp. httpd lilo link linux liste listeci listmanager live livecd LKD loader login logo LVM mail mail hosting Mail-in-a-Box mailcow mailman mailserver mandriva-tr.org matrax Mint mirror mlmmj modül MTA multisite mustafa akgül Mustafa Akgül Özgür Yazılım Yaz Kampı. Abant İzzet Baysal Üniversitesi Müteahhit mx MySQL netinternet Netqmail network nfs nginx ngrok not.py online radyo opendkim openssl önyükleme özgür yazılım panel pano pardus parola paste patch paylaşım pdf perl pfsense pfsense full backup phpmyadmin pi plan Planet planetplanet plesk pop3 poste.io postfix postfixadmin proje proxy putty python qmail qmailtoaster randmap Ras webserver Raspberry pi Raspberry Pi raspi rawdisk recovery remote repository resim resimler robots.txt 401 rss rsync rsyncd rsyncd etiketi s/qmail Saldırı Samba screen script sendonly smtp server senronizasyon server servis shell sistem Slackarm slackware Slackware slackware-live slackware.org.tr slackware arşiv httrack truva linux hatıralar slacky.eu SMF SMF türkçe karakter problemi smtp sosyal ağ spam spf sql backup sqlite sqlite3 sqlite3 to wordpress ssh ssh_key ssh-key SSL ssl sertifika subversion sudo sunucu svn swap swapfile syslinux system system images şifreleme takasfile Tatil Tavuk Teneke Kebabı Tenekede Tavuk theme thunderbird TightVNC tmux Tokat Kebabı tokat kebabı sobası etiketi Trash Trash-cli Truva Linux truvalinux Turkcell tuxweet Türkçe türkiye ubuntu unban UNIX uzak varnish veri Virtualbox vmware Vodafone vps Vsftp vsftpd Wampp web web robot Web server web Sunucu webp webserver webserver Akıllı Tahta wget whitelist WINN Windows wordpress Wordpress wordpress multisite www xampp Xnest yansı yansılama yansılamak yapıştır yazmak Yedekleme Yemek zulüm
nginx etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster



Nginx ile istenmeyen web robotlarını engellemek gerekli.

Vps servera oldukça fazla sayıda istek geldiği için haliyle sistemin kaynak tüketimi fazla oluyor.

 Nginx yapılandırma dosyamıza ekliyoruz. 

Amaç ilgili kötü web botlarına 403 kodu döndürmek.

 

nano /etc/nginx/sites-enable/098-contoso.com.conf

 

 # ------------- Kotu botlara izin yok --------------

if ($http_user_agent ~* .NET|facebookexternalhit|Barkrowler|claudebot|DotBot|bingbot|SemrushBot) {
   return 403;
}


if ($http_referer ~ "(opensiteexplorer\.org|semrush\.com|semrush\.com|ubermetrics-technologies\.com)") {
set $prohibited "1";
}
if ($prohibited) {
       return 403;
}

# ------------- Kotu botlara izin yok --------------

 

Nginx web serveri yeniden başlatalım.

nginx -s reload

şimdi kontrol edelim  kötü botlar sitemizi nasıl görüyor.

caylak@rihanna:~$ curl -A "ClaudeBot" -I https://www.contoso.com
HTTP/2 403
server: nginx/1.18.0 (Ubuntu)
date: Tue, 16 Jul 2024 19:10:51 GMT
content-type: text/html
content-length: 162

caylak@rihanna:~$ 


Umarım faydalı olur.

Görüş ve eleştilerinizi beklerim.


 

 

 

 






 Diyelimki elimizde 1 tane public ipv4 ip adresi ve 5 tane https olarak çalışması gerekli olan web serveriniz var.

sunucuların bir kısmı Linux bir kısmı windows server olabilir tabiki :)


5 site için ayrı ayrı ipv4 adresi tahsis etmek yerine Nginx i proxy olarak kullanarak tüm serverleri yayına alabilirsiniz. 

Serverleriniz için daha güvenli bir ortama kavuşursunuz. Aşağıdaki diyagramdaki gibi yalıtılmış bir ortam oluşur.



ubuntu üzerinde sadece nginx kurmak yeterli olacaktır.

 mevcut ipv4 adresimizi nginx sunucuya tahsis etmeliyiz.

hadi başlayalim.
 
sudo apt-get install nginx -y

önce default ayarı silelim.

sudo rm /etc/nginx/sites-enabled/default


Vhost dosyamızı oluşturalım.

sudo nano /etc/nginx/sites-available/demo.com.conf


# default olarak 80 üzerinden gelen istekleri https portuna yönlendir.

#-----8< ---- 8< ------ 8< ------ 8< ------
server {
   listen 80;
   server_name example.demo.com;
   return 301 https://example.demo.com$request_uri;
 }


server {
   listen 443 ssl;
   server_name example.demo.com;
   ssl_certificate  /path/to/your/certificate;
   ssl_certificate_key  /path/to/your/certificate/key;
   ssl_prefer_server_ciphers on;

   location / {
        proxy_pass https://10.20.30.40:8091;

        proxy_set_header        Host $host;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Proto $scheme;
    }
}
#-----8< ---- 8< ------ 8< ------ 8< ------


kaydedip çıkın.

siteyi aktif hale getirelim


sudo ln -s /etc/nginx/sites-available/demo.com.conf /etc/nginx/sites-enabled/demo.com.conf

Nginx yapılandırmasını test edelim.

sudo nginx -t

Herşey yolunda ise nginx i yeniden başlatalım.

sudo nginx -s reload

eğer yönetim için görsel arayüz isterseniz ve oldukça fazla alan adınız varsa

 nginxproxymanager kullanmanızı tavsiye ederim.

 


 

 https://nginxproxymanager.com/



 

 

nginxproxymanager Docker ile kullanılabilmektedir.

Kolay gelsin :)




Nginx webserver oldukça başarılı.

Kaynak kullanımı minimal seviyede.

Kendisini getgnu.org ve truvalinux.org.tr  sitelerimizde yıllardır kullanıyoruz.

medium.com da rastladığım bir konu üzerine Nginx in proxy özelliğini denemek istedim.

Nginx proxy desteği ile yoğun trafiği bulunan sitelerinizi farklı sunucular üzerinde çalıştırabilir ve yük dengelemesi yapabilirsiniz.

Bu sayede sunucu güvenliğinizi de arttırmış olursunuz.

Farklı adreslerde ve portlarda çalışan sunucuları tek bir sunucuymuş gibi kullanabilirsiniz.





denemek isteseniz örnek bir proxy hazırladım.

http://proxy.raspitr.freemyip.com/

Bloğumda Wordpress kullanıyorum. apache web server ile oldukça fazla kaynak harcamaktaydı.

Sistemimi daha sonra Nginx Web Server 'e geçirdim. Nginx ten çok memnunum.

Nginx oldukça mütevazı sistem kaynakları ile gayet güzel iş çıkartıyor.

Nginx Powered Cache eklentisi ile çok iyi anlaşıyor.

Powered Cachenin diğer cache eklentilerinde farkı nginx ile çalışabiliyor olmasıdır.

Powered Cache ile tanışmadan önce diğer cache eklentilerini çalıştırabilme için oldukça uğraşmış ve vazgeçmiştim.

Author Name

İletişim Formu

Ad

E-posta *

Mesaj *

Blogger tarafından desteklenmektedir.