Soru Bir nginx'ten diğerine yönlendirme


NGINX ile iki sunucum (A ve B) var. Sunucu A, eski siteye hizmet veriyor ve B sunucusu yeni bir site sunuyor. DNS'imi güncelledim ancak oldukça yavaş: ofisimde hala eski sitemi görüyorum:

subdomain.site.com

Bu belirli alt etki alanı için A sunucusundaki tüm istekleri B sunucusuna nasıl yönlendirebilirim?

Şimdi ikisi de NGINX'te bununla ilgileniyor:

server {
  listen 80;
  server_name subdomain.site.ru;
  root /var/www/subdomain/public;
  passenger_enabled on;
}

8
2017-09-05 10:09


Menşei




Cevaplar:


İkisi de aynı sunucu_adı kullandığından, basit bir yönlendirme yapamazsınız.

Yine de, eski sunucuda aşağıdakilerin satırları boyunca bir çeşit vekil yapabilirsiniz:

upstream newserver {
  server 172.16.0.1:80;  # this is new server, by IP address
}

server {
  listen 80;
  server_name subdomain.site.ru;
  location / {
    proxy_set_header Host $host;
    proxy_pass http://newserver;
  }
}

Yani, temel olarak, eski sunucuyu, tüm istekleri yeni sunucuya iletecek şekilde yapılandırın. Tabii ki, client_max_body_size ve bunun için gereken her türlü yapılandırmayı yapın.


11
2017-09-05 11:30



Bu nasıl SSL kullanılarak yapılabilir? Proxy makine ssl sertifikası yanı sıra upstream sunucusuna ihtiyacı var mı? - earthmeLon
@earthmeLon Özgün soruda, bu proxy, DNS güncellemesi için geçici bir ölçüttü. Bu durumda, hem yeni hem de eski sunucular SSL sertifikasına sahip olur. Yukarı akış durumunda, SSL üzerinden veya düz HTTP üzerinden bağlanabilirsiniz; Her iki kutuyu da kontrol ettiğin için, bu senin tercihine bağlı. - cjc