%EC%9D%98%20%EC%9D%B4%EC%A0%84%20%EC%9A%94%EC%B2%AD%20%EC%9C%84%EC%B9%98%20%EC%84%A4%EC%A0%95%EC%9D%B4%20%EB%8B%A4%EB%A5%B8%20%EC%9A%94%EC%B2%AD%20%EC%9C%84%EC%B9%98%20%EC%84%A4%EC%A0%95%EC%9D%84%20%EA%B7%B9%EB%B3%B5%ED%95%98%EA%B3%A0%20%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
다음과 같은 nginx 설정이 있습니다.
upstream cluster_web {
ip_hash;
server 192.168.115.82 weight=3;
server 192.168.115.92 weight=2;
server 192.168.115.100 weight=2;
server 192.168.115.95 weight=3;
server 192.168.115.103 weight=1;
}
server {
location /app1/ {
proxy_pass http://192.168.115.92;
}
location / {
proxy_pass http://cluster_web;
}
}
요점은 사용자가 / 위치에 액세스한 후 위치 규칙 /app1/에 정의된 서버를 달성할 수 없다는 것입니다. 분명히 nginx는 이전 요청의 업스트림 설정에서 ip_hash 서버를 사용하고 있기 때문입니다. 일부 설정이 누락되었나요? 이 올바른지? 그건 그렇고, 나는 두 개의 역방향 프록시 서버를 가지고 있습니다. 하나는 인터넷에 있고 다른 하나는 LAN 사용자용입니다.
친애하는!
답변1
그것은 버그가 아니었습니다.
저는 break를 사용해야 했습니다. Proxy_pass 지시문 뒤에.