Bir nginx'ten diğerine yönlendirme


10

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

subdomain.site.com

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

Şimdi her ikisi de NGINX'te bununla ilgileniyor:

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

Yanıtlar:


14

Her ikisi de aynı sunucu_adı kullandığından, basit bir yeniden yönlendirme yapamazsınız.

Eski sunucuda aşağıdakilerin satırları boyunca muhtemelen bir çeşit proxy 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;
  }
}

Temel olarak, eski sunucuyu tüm istekleri yeni sunucuya geçirecek şekilde yapılandırın. Tabii ki, client_max_body_size ve bunun için ihtiyacınız olan her türlü yapılandırmayı yapın.


Bu SSL kullanılarak nasıl yapılabilir? Proxy makinesinin ssl sertifikasına ve yukarı akış sunucusuna ihtiyacı var mı?
earthmeLon

@earthmeLon Orijinal soruda, bu proxy DNS güncellemesi için geçici bir önlemdi. Bu durumda, hem yeni hem de eski sunucular SSL sertifikasına sahip olacaktır. Yukarı akış durumunda, SSL veya düz HTTP üzerinden bağlanabilirsiniz; Her iki kutuyu da kontrol ettiğiniz için, tercihinize bağlı olacaktır.
cjc
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.