Nginx’te Nasıl Ters Proxy Oluştururum?

0
Share

Standart proxy sunucusu, filtreleme ve içerik gizliliği sağlayarak yalnızca müşterilerinin isteklerine göre çalışır. Ters proxy sunucusundan bahsettiğimizde, trafiği kesmek ve ayrı bir sunucuya yönlendirmek için kullanılan sunucu istekleri adına çalışır. Bu proxy özelliği, yük dağıtımı için kullanışlıdır ve çeşitli mevcut sunucular arasında performansı artırır. Farklı çevrimiçi sitelerden aldığı tüm içeriği gösterir. Proxy yöntemini kullanarak, HTTP dışında belirtilen protokoller üzerinden sunucu uygulamalarına işleme isteklerini iletebilirsiniz.

Ters proxy’yi kurmanızın birçok nedeni vardır. Önemli bir neden, içerik gizliliğidir. Ters proxy yöntemi, istemcilerle iletişim kurmak için tek bir merkezi nokta sağlar. Size merkezi günlüğe kaydetme özelliğini sağlayabilir ve çeşitli sunucular arasında raporlama yapabilir. Nginx, statik içeriği hızlı bir şekilde işler ve dinamik istekleri Apache sunucusuna iletir; bu özellik genel performansı iyileştirir.

Bu makalede, Nginx’te bir ters proxy’nin nasıl kurulacağını öğreneceğiz.

Önkoşullar

Kök hesaba veya sudo komutlarını çalıştırabilen bir kullanıcıya erişiminiz olmalıdır.

Nginx Reverse Proxy Sunucusu Oluşturma

Yeni Nginx proxy sunucusunu kurmak için, sisteminizde aşağıdaki adımları izlemeniz gerekir:

Adım 1: Nginx’i kurun

Terminal uygulamasını açın ve ardından /etc/apt/source.list dosyasını favori metin düzenleyicinizde açın ve ardından aşağıda verilen satırları bu dosyanın sonuna ekleyin. Bu satırda, ‘CODENAME’i sisteminizde kullanmakta olduğunuz Ubuntu sürümünüzle değiştirmeniz gerekir. Örneğin, bu sistemde bir Ubuntu 20.04 odak fossamız var. Sp, ‘CODENAME’i değiştirmek için Focal’ı ekleyin.deb http://nginx.org/packages/mainline/ubuntu/ CODENAME nginx

deb http://nginx.org/packages/mainline/ubuntu/ CODENAME nginx

deb-src https://nginx.org/packages/mainline/ubuntu/ <CODENAME> nginx

$ sudo wget http://nginx.org/keys/nginx_signing.key

$ sudo apt-key add nginx_signing.key

Şimdi, apt manager paketlerini güncelleyin ve aşağıdaki komutu çalıştırarak resmi apt deposundan sisteminize Nginx’in en son sürümünü yükleyin:$ sudo apt update

$ sudo apt install nginx

Şimdi, aşağıdaki komutları kullanarak Nginx sunucusunu başlatın ve etkinleştirin:sudo systemctl start nginx

$ sudo systemctl enable nginx

$ sudo systemctl status nginx

Adım 2: Nginx Reverse Proxy için Yapılandırmalar

Yeni bir yapılandırma dosyası custom_proxy /etc/nginx/conf.d/custom_proxy.conf oluşturun ve ardından aşağıdaki kod satırlarını buraya yapıştırın:

server {

  listen 80;

  listen [::]:80;

  server_name myexample.com;

  location / {

      proxy_pass http://localhost:3000/;

  }

}

Konum içinde belirtilen ‘proxy_pass’ yönergesi bu yapılandırmayı ters proxy yapar. Bu satır proxy_pass http: // localhost: 3000 /, konum kökü / yol ile eşleşen tüm isteklerin, etki alanı web sitenizin çalıştığı localhost üzerindeki 3000 numaralı bağlantı noktasına iletilmesi gerektiğini yönlendirir.

Yeni yapılandırma dosyasını etkinleştirmek ve bağlamak için aşağıda belirtilen komutu çalıştırın:ln -s / etc / nginx / conf.d / custom_server.conf

3. Adım: Yapılandırmaları Test Edin

Şimdi, aşağıdaki komutu kullanarak yukarıdaki yapılandırmaları test edin:sudo nginx -t

Başarılı bir şekilde test ettikten sonra, herhangi bir hata bildirilmezse, yeni Nginx yapılandırmasını yeniden yükleyin.sudo nginx -s yeniden yükle

Tamponları Yapılandır

Yukarıdaki yapılandırmalar, temel bir ters proxy sunucusu oluşturmak için yeterlidir. ancak karmaşık uygulamalar için, aşağıda verilen bazı gelişmiş seçenekleri etkinleştirmeniz gerekir:

location / {

    proxy_pass http://localhost:3000/;

    proxy_buffering off;

}

Configure-Request başlıkları

location / {

    proxy_pass http://localhost:3000/;

    proxy_set_header X-Real-IP $remote_addr;

}

Yukarıdaki örnekte, $ remote_addr, istemcinin IP adresini proxy ana bilgisayarına gönderir.

(Visited 684 times, 1 visits today)