nginx 부하 균형 해결 session 문제
1864 단어 기술 잡담
세 션 은 서버 에 사용자 의 로그 인 정 보 를 저장 하 는 데 사용 되 는 것 으로 부하 균형 을 사용 할 때 백 엔 드 의 서버 ip 이 고정 되 어 있 지 않 기 때문에 사용자 가 웹 페이지 를 새로 고침 한 후에 로그 인 정보 가 효력 을 잃 고 주문 이상 등 일련의 문 제 를 초래 할 수 있다 는 것 을 잘 알 고 있 습 니 다.
해결 방법
일반적으로 다음 과 같은 방법 으로 이 문 제 를 해결한다
PS: 주의해 야 할 것 은 이런 상황 은 nginx 가 최전선 에 있 는 상황 에서 만 적용 된다 는 것 입 니 다. 대형 사이트 의 구조 체계 에서 nginx 부하 균형 아래 에 각종 미들웨어 등 상황 이 있 을 수 있 습 니 다. 이런 상황 이 발생 하면 상기 문제 가 발생 할 수 있 습 니 다!
upstream example.com
{
server 192.168.1.101:80;
server 192.168.1.102:80;
ip_hash;
}
server
{
listen 80;
location /
{
proxy_pass
http://example.com;
}
}
물론 개발 에 대해 서 는 session 모듈 을 나 누 어 쓰 고 시스템 I / O 에 대한 수요 가 높 은 모듈 (예 를 들 어 session, 캐 시, 대기 열 데이터, 임시 중 전 데이터 등) 을 redis 를 통 해 저장 할 수 있다 고 알려 야 합 니 다.주의해 야 할 것 은 먼저 군집 을 잘 만들어 지속 화 를 잘 해 야 한 다 는 것 이다!그렇지 않 으 면 또 중대 한 생산 사고 가 발생 할 것 이다.