ฉันมีเว็บไซต์ที่ทำงานเป็น load balancer ไซต์ A
ฉันมีเว็บไซต์อื่นที่สามารถมีได้เพียงหนึ่งโดเมน ดังนั้นหากฉันเพียงแค่เปลี่ยนเส้นทางไปยังพวกเขามันบอกว่าไม่พบชื่อโฮสต์
ดังนั้นหากฉันตั้งค่าส่วนหัวเป็นบางสิ่งด้วยตนเองจะมีเพียงไซต์นั้นเท่านั้นที่ปรากฏขึ้น
ฉันจะตั้งproxy_set_header Host xxxx
เป็นเซิร์ฟเวอร์ที่เลือกได้อย่างไร วิธีนี้แต่ละคำขอเปลี่ยนเส้นทางใหม่จะมีส่วนหัวของโฮสต์ที่แตกต่างและเหมาะสม
มันจะไม่เป็นปัญหาหากเว็บไซต์ 2 แห่งของฉันทำงานได้ตาม url และไม่ใช่ส่วนหัวของโฮสต์
worker_processes 1;
error_log logs/error.log;
error_log logs/error.log notice;
error_log logs/error.log info;
error_log logs/error.log debug;
pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
upstream myapp1 {
#server localhost:3333;
server www.asd.com:80;
}
server {
listen 80;
location / {
proxy_set_header Host $upstream_addr; // should become somehow www.asd.com right now this code doesn't work
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://myapp1;
}
}
}
www.asd.com:80
เลือกเซิร์ฟเวอร์
if(server1) than host = a;
,if(server2) than host = b;
$server_addr
ทำไม 127.0.0.1 ทำไม ??