Score:0

โหลดบาลานซ์ nginx ด้วยบล็อกเซิร์ฟเวอร์หลายตัว

ธง lk

ฉันมีการตั้งค่าต่อไปนี้เนื่องจากฉันวาง nginx ไว้หน้าบริการแอป Azure สองบริการในภูมิภาคต่างๆ - หากไม่มีสิ่งนี้ (เช่น มีบริการแอปโดยตรงในบล็อกอัพสตรีมของฉัน) ดูเหมือนว่า nginx กำลังเชื่อมต่อกับ Azure ด้วยที่อยู่ IP แทนที่จะเป็น ชื่อโฮสต์เพื่อให้ตัวจัดสรรภาระงาน Azure ไม่ทราบว่าจะกำหนดเส้นทางคำขอไปที่ใด หรือไม่ได้ตั้งค่าส่วนหัวของโฮสต์เป็นค่าที่ถูกต้อง

แต่ตอนนี้ฉันมีปัญหาที่บล็อกอัปสตรีมของฉันจะไม่ล้มเหลวหากเซิร์ฟเวอร์ในบล็อกเซิร์ฟเวอร์ที่เกี่ยวข้องหยุดทำงานเนื่องจากกำลังเชื่อมต่อกับบล็อกเซิร์ฟเวอร์โฮสต์ในพื้นที่

ฉันได้ลองใช้ตัวเลือก proxy_next_upstream แล้ว แต่ดูเหมือนจะไม่ทำในสิ่งที่ฉันต้องการ

ฉันสามารถบรรลุสิ่งที่ต้องการได้หรือไม่ บางทีการตั้งค่าอัปสตรีมของฉันที่ชี้ไปที่ localapps อาจเป็นปัญหาจริง แต่ฉันไม่สามารถหาวิธีให้ nginx เล่นบอลกับบริการแอพอย่างอื่นได้

อัพสตรีม localapps {
    เซิร์ฟเวอร์ localhost:8001;
    เซิร์ฟเวอร์ localhost:8002;
}

เซิร์ฟเวอร์ {

        ที่ตั้ง / {
          proxy_pass http://localapps;
          ข้อผิดพลาด proxy_next_upstream หมดเวลา http_403;
          proxy_next_upstream_timeout 5m;
          proxy_next_upstream_tries 20;
          proxy_connect_timeout 2;
        }

     ฟัง 443 ssl; # จัดการโดย Certbot
     ssl_certificate <เส้นทาง>/fullchain.pem; # จัดการโดย Certbot
     ssl_certificate_key <เส้นทาง>/privkey.pem; # จัดการโดย Certbot
     รวม /etc/letsencrypt/options-ssl-nginx.conf; # จัดการโดย Certbot
     ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # จัดการโดย Certbot

}

เซิร์ฟเวอร์ {
    ฟัง 8001;
    server_name web01;

    ที่ตั้ง / {
        proxy_set_header โฮสต์ app1.azurewebsites.net;
        proxy_pass https://app1.azurewebsites.net;
        proxy_cookie_domain app1.azurewebsites.net mycustomdomain.com;
        proxy_ssl_certificate <เส้นทาง>/fullchain.pem;
        proxy_ssl_certificate_key <เส้นทาง>/privkey.pem;
        เปิด proxy_ssl_session_reuse;

    }
}

เซิร์ฟเวอร์ {
    ฟัง 8002;
    server_name web02;

    ที่ตั้ง / {
        proxy_set_header โฮสต์ app2.azurewebsites.net;
        proxy_pass https://app2.azurewebsites.net;
        proxy_cookie_domain app1.azurewebsites.net mycustomdomain.com;
        proxy_ssl_certificate <เส้นทาง>/fullchain.pem;
        proxy_ssl_certificate_key <เส้นทาง>/privkey.pem;
        เปิด proxy_ssl_session_reuse;
    }
}

เซิร์ฟเวอร์ {
    ถ้า ($host = myvm.westeurope.cloudapp.azure.com) {
        ส่งคืน 301 https://$host$request_uri;
    } # จัดการโดย Certbot

    server_name myvm.westeurope.cloudapp.azure.com;
    ฟัง 80;
    กลับ 404; # จัดการโดย Certbot
}

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา