Nginx HTTPS reverse proxy



 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 :)


Labels: , ,

Yorum Gönder

Emoticon
:) :)) ;(( :-) =)) ;( ;-( :d :-d @-) :p :o :>) (o) [-( :-? (p) :-s (m) 8-) :-t :-b b-( :-# =p~ $-) (b) (f) x-) (k) (h) (c) cheer
Click to see the code!
To insert emoticon you must added at least one space before the code.

Author Name

İletişim Formu

Ad

E-posta *

Mesaj *

Blogger tarafından desteklenmektedir.