2016-09-10 16 views
6

Tôi có một thể hiện nginx trong AWS có lớp ứng dụng ngược dòng.nginx keepalive and dns resolver

Có hai yêu cầu cho nginx
- keepalive
- sử dụng resolver để tự động giải quyết các thượng nguồn

tôi có thể làm cho một trong hai trong số họ làm việc.

Đây là cấu hình để làm keepalive công việc:

upstream "backend" { 
    server "appserver.example.com:443"; 
    keepalive 250; 
} 

server {   
    resolver 10.0.0.2 valid=60s; 
    server_name _; 
    location/{ 
       proxy_http_version 1.1; 
       proxy_pass https://backend; 
    } 
} 

Dưới đây là cấu hình cho DNS resolver để làm việc:

server {   
    resolver 10.0.0.2 valid=60s; 
    server_name _; 
    set $backend appserver.example.com:443; 
    location/{ 
       proxy_http_version 1.1; 
       proxy_pass https://$backend; 
    } 
} 

Làm thế nào tôi có thể nhận được cả hai giải quyết DNS và keepalive để làm việc mà không sử dụng plugin của bên thứ ba trong mã nguồn mở NGinx

+0

Điều này có thể được thực hiện bằng cách sử dụng Nginx Plus. Tôi tự hỏi tại sao thượng lưu vẫn còn sống là cần thiết, là máy chủ ngược dòng được đặt ở nơi khác từ Nginx và độ trễ ở giữa cao? – Anatoly

Trả lời

0

Theo điều này Nginx wiki page có vẻ như là jdomain Plugin

http { 
    resolver 8.8.8.8; 
    resolver_timeout 10s; 

    upstream backend { 
     jdomain www.baidu.com; 
     # keepalive 10; 
    } 
    server { 
     listen  8080; 

     location/{ 
      proxy_pass http://backend; 
     } 
    } 
} 
Các vấn đề liên quan