[Nginx] Config 설정을 통한 proxy

M.S·2023년 12월 19일

nginx

목록 보기
1/1
  • 개발 서버는 리눅스 기반의 CentOS 7.9 버전이다.
  • 기술 스택은 vue.js 와 spring boot에 Jpa를 사용했다.

  • nginx는 /etc/nginx 경로에 가면 nginx 관련 설정들이 모여있다.
    - /etc/nginx/nginx.conf에 가면 제일 상단의 nginx 설정들이다.
    - 해당 파일안에 밑에 설정을 보면 어느 파일에서 설정해줘야 하는지 찾을 수 있다.
# 설정 파일 정의
include /etc/nginx/conf.d/*.conf;
  • 나는 /etc/nginx/conf.d/default.conf 로 들어가서 config 파일을 설정했다.
server {
    listen      80; # 기본 포트로 따로 설정하지 않으면 기본적으로 80으로 들어가고 80의 경우 생략되어 있다.
    server_name  velog.io; # 원하는 서버 IP 또는 도메인명

    access_log /var/log/nginx/host.access.log main;

    location / {
        root /app/web-front/dist; # front 소스 코드 위치 
        index index.html; 
        try_files $uri $uri/ /index.html; 
    }

    location /api {
        add_header 'Access-Control-Allow-Origin' '*';
        rewrite /api/(.*) /$1 break; # 나는 앞단에 /api를 다 붙여서 /api 생략하고 가야해서 추가함
        proxy_pass https://velog.io:8080; # 서버 IP 또는 도메인 + 포트
        proxy_http_version 1.1;
    }

    location /images {
        alias /app/file; # 이미지 파일 위치
    }

    #error_page  404              /404.html;

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

이런식으로 nginx 설정을 해줬다.
이렇게 하면 위에서 설정한 server_name의 80포트로 접근 시 server_name:80/api/login 같은 url이 proxy_pass/login으로 가게 된다.

profile
나만의 메모장 같은 기록

0개의 댓글