리버스 프록시는 외부에서 들어오는 요청을 내부의 적절한 서버로 전달하는 중간 역할을 수행하는 서버입니다. 이를 통해 외부 사용자는 하나의 공인 IP와 포트를 사용해 다양한 내부 서비스에 접근할 수 있으며, 보안 강화, 부하 분산, SSL 암호화 등의 기능을 구현할 수 있습니다. 리버스 프록시는 일반적인 포트 포워딩보다 더 유연하고 다양한 기능을 제공하여, 네트워크 인프라를 효율적이고 안전하게 관리하는 데 중요한 역할을 합니다.
apt update
apt install nginx
vi /etc/nginx/sites-available/example.com #example.com 파일명은 추가 할 도메인 명
server {
listen 80; # 외부에서 80번 포트로 들어오는 HTTP 요청을 수신합니다.
server_name example.com; # 요청된 도메인 이름이 example.com인 경우에만 이 서버 블록을 실행합니다.
location / {
proxy_pass <http://192.168.1.100:5000>; # 내부 서버의 IP 주소와 포트
proxy_set_header Host $host; # 원래 요청의 Host 헤더를 내부 서버로 전달합니다.
proxy_set_header X-Real-IP $remote_addr; # 클라이언트의 실제 IP 주소를 내부 서버로 전달합니다.
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 프록시를 거친 클라이언트 IP 목록을 추가합니다.
proxy_set_header X-Forwarded-Proto $scheme; # 요청의 프로토콜(HTTP 또는 HTTPS)을 내부 서버로 전달합니다.
}
}
ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
nginx -t
systemctl restart nginx
apt install certbot python3-certbot-nginx
certbot --nginx -d example.com
# 자동 갱신 확인
cerbot renew --dry-run