리눅스에서 Nginx 리버스 프록시 설정하기 - mj의 블로그
리눅스에서 Nginx 리버스 프록시 설정하기
안녕하세요, mj입니다! 오늘은 리눅스에서 Nginx를 이용하여 리버스 프록시를 설정하는 방법에 대해 알아보겠습니다. 리버스 프록시는 웹 서버와 클라이언트 간의 요청과 응답을 중개하는 역할을 합니다. 이 설정은 다양한 목적에 활용될 수 있습니다.
리버스 프록시란?
리버스 프록시는 클라이언트의 요청을 받아 내부 서버로 전달하고, 내부 서버의 응답을 클라이언트에게 다시 전달하는 서버입니다. 이를 통해 여러 가지 이점을 얻을 수 있습니다.
- 보안 강화: 내부 서버의 IP 주소를 숨길 수 있습니다.
- 로드 밸런싱: 여러 서버에 요청을 분산시켜 성능을 최적화할 수 있습니다.
- SSL 종료: SSL 인증서를 프록시 서버에서 관리하여 내부 서버의 부담을 줄일 수 있습니다.
Nginx 설치하기
리눅스에서 Nginx를 설치하는 방법은 다음과 같습니다.
sudo apt update
sudo apt install nginx
설치가 완료되면 Nginx를 시작합니다.
sudo systemctl start nginx
리버스 프록시 설정하기
Nginx의 리버스 프록시 설정은 간단합니다. 설정 파일을 수정하여 원하는 서버로 요청을 보내도록 설정합니다.
sudo nano /etc/nginx/sites-available/default
아래와 같이 설정을 추가합니다.
server {
listen 80;
location / {
proxy_pass http://localhost:3000; # 내부 서버 주소
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
설정을 저장한 후, Nginx를 재시작합니다.
sudo systemctl restart nginx
예시
1. 기본 리버스 프록시
proxy_pass http://localhost:3000;
이 설정은 클라이언트의 요청을 3000번 포트로 전달합니다.
2. HTTPS 지원
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/private.key;
location / {
proxy_pass http://localhost:3000;
}
}
이 설정은 HTTPS 요청을 처리합니다.
3. 로드 밸런싱
upstream backend {
server backend1.example.com;
server backend2.example.com;
}
server {
location / {
proxy_pass http://backend;
}
}
이 설정은 두 개의 백엔드 서버로 요청을 분산합니다.
4. 정적 파일 제공
location /static/ {
alias /var/www/static/;
}
정적 파일을 직접 제공하는 설정입니다.
5. API 프록시
location /api/ {
proxy_pass http://api.example.com;
}
API 요청을 다른 서버로 전달하는 설정입니다.
댓글
댓글 쓰기