======
로드밸런싱을 위해 Rocky Linux로 웹서버 두개를 만들어 리버스 프록시 설정을 해주고 WAS와 연동할 예정이다.
두개의 웹서버 모두 nginx가 설치 되어 있다는 기준으로 작성
1. 리버스 프록시, 로드 밸런싱 설정 - 두개의 웹서버 모두 동일하게 설정
nginx를 was 서버로 트래픽을 전달하는 리버스 프록시로 설정
설정파일 수정
vi /etc/nginx/nginx.conf
http {
upstream was_backend { # 로드 밸런싱을 위한 upstream 설정
server 10.255.255.21:8080; # WAS 서버 IP와 포트 설정
}
server {
listen 80;
server_name 10.70.160.3; # 웹 서버의 IP 또는 도메인
location / {
proxy_pass http://was_backend; # WAS 서버로 요청 전달
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}
다른 웹서버는 그 웹서버의 IP에 맞춰 넣어주었다.
나는 http { 안에 upstream 설정을 넣어주었고
프록시 설정은 원래 있던 server 바로 위에 하나 더 만들어 주었다.
설정 적용을 위해 nginx 재시작
systemctl restart nginx
오답노트) 502 Bad Gateway 오류가 떴었기에 로그 파일 확인
vi /var/log/nginx/error.log
*1 connect() to 10.255.255.21:8080 failed (13: Permission denied) while connecting to upstream, client: 10.70.70.70, server: 10.70.160.2, request: "GET /favicon.ico HTTP/1.1", upstream: "http://10.255.255.21:8080/favicon.ico", host: "10.70.160.2", referrer: "http://10.70.160.2/"
# 오류 로그
검색해보니 SELinux의 권한 문제인것 같기 때문에 nginx가 외부 서버와 통신할 수 있도록 SELinux 설정을 변경
sudo setsebool -P httpd_can_network_connect 1
systemctl restart nginx # 설정 적용을 위해 재 시작
처음에 첫번째 웹서버는 정상 작동 했었는데 두번째 웹서버에선 502 Bad Gateway 오류가 뜨길래 SELinux의 설정을 변경했었는데 계속 502 에러가 뜨길래 스냅샷으로 돌려서 다시 해보니 되었다.
502 Gateway 에러외엔 다른 오류는 뜨지 않았었다.
=======
3 Tier 핵심 구성을 끝내니 나머지 작업은 원활하게 되는것 같다. 하지만 L4 세팅과 UTM WAF 설정이 두렵다 ..
'공부? > 국비 지원 일기장' 카테고리의 다른 글
프로젝트 - WAF , UTM 설정 (0) | 2024.10.14 |
---|---|
프로젝트 - L4 세팅 (1) | 2024.10.14 |
프로젝트 - DB backup 서버 만들고 메인 DB서버 백업서버로 연동 (0) | 2024.10.06 |
프로젝트 진행중 - WAS JAVA 연동, DB 구축 (0) | 2024.10.04 |
프로젝트 - DB연동 (2) | 2024.09.30 |