리눅스 간단한 서버 구축하기 - 재고관리(2)

범수·2024년 8월 19일

LinuxServer

목록 보기
7/7
post-thumbnail

>> 준비하기 <<

  • 공용 IP 주소 확인하기
  • 공유기 설정에서 포드포워딩 설정하기
  • 방화벽 설정하기
  • /etc/nginx/sites-available/default 설정

포드포워딩

  • 포드포워딩이란?
    • 외부 IP에서 내부의 특정 IP에 연결해주는 역할
  1. 공용IP를 이용해 공유기 설정 접속
  2. 포트포워드 설정(외부:8000포트, 내부:80포트)

방화벽 설정

sudo ufw allow 8000/tcp
// sudo ufw allow 80/tcp
// sudo ufw allow 433/tcp

8000포트로 들어오는 트레픽 허용

  • 안될 시 밑에 주석도 추가해보기

/etc/nginx/sites-available/default

server {
    listen 80;
    server_name public_ip;  # 공용 IP 주소

    location ~ \.html {
        root /var/www/html;  # stock.html 파일이 있는 디렉토리
        index stock.html
        try_files $uri $uri/ =404;
    }

    location /stock {
        proxy_pass http://localhost:8000;  # FastAPI 서버의 주소와 포트
        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;
    }
}
* stock.html fetch IP주소 공용 IP로 변경

다양한 환경에서 접속해보기

같은 IP의 다른 기기에서 접속 외부 IP에서 기기에서 접속
  • 같은 IP에서 다른 기기로 연결할 시 서버 로컬 기기의 IP주소로 연결
  • 외부 IP의 기기에서 연결할 시 공용 IP:8000포트로 연결

주의사항

  • 외부 IP에서 접속할 시 포드포워딩 확인하기
  • stock.html의 fetch주소 공용 IP로 설정하기
  • /etc/nginx/sites-available/default의 location 설정하기
  • 307에러 발생 시 CORS 설정 확인하기
profile
범수의 개발 놀이터😋

0개의 댓글