ImageUs-도메인 라우팅

codakcodak·2023년 3월 8일
0

ImageUs

목록 보기
16/17
post-thumbnail

문제상황

  • 이미지서버와 백서버 2개를 가동하는데 처음의 url설계때 포트로 나누어지기 때문에 바로 리소스 표현
    *ex)
    http://localhost:5000/ping=>backserver
    http://localhost:5001/ping=>imageserver

  • 도메인을 한 개만 따놓았고 보통은 포트를 명시하지않고 요청을 보내므로 한 개의 도메인으로 분리된 서버로의 라우팅을 하려면 nginx의 location항목에 api의 주소들을 직접 따져가면서 기입 필요

해결방법

upstream imageus_back {
    server imageus_back:4000;
}

upstream imageus_image {
    server imageus_image:4001;
}

server {
        listen 80;
        server_name _;

        location = / {
                proxy_pass http://imageus_back;
                proxy_set_header  X-Real-IP $remote_addr;

                proxy_connect_timeout 5;
                proxy_send_timeout 5;
                proxy_read_timeout 5;
                send_timeout 5;
        }

        location /swaggerui {
                proxy_pass http://imageus_back;
                proxy_set_header  X-Real-IP $remote_addr;

                proxy_connect_timeout 5;
                proxy_send_timeout 5;
                proxy_read_timeout 5;
                send_timeout 5;
        }

        location /backapi {
                proxy_pass http://imageus_back;
                proxy_set_header  X-Real-IP $remote_addr;

                proxy_connect_timeout 5;
                proxy_send_timeout 5;
                proxy_read_timeout 5;
                send_timeout 5;
        }

        location /imageapi {
                proxy_pass http://imageus_image;
                proxy_set_header  X-Real-IP $remote_addr;

                proxy_connect_timeout 10;
                proxy_send_timeout 10;
                proxy_read_timeout 10;
                send_timeout 5;

        }
}

*주소에 backapi가 붙은 것은 backserver로 이동,
imageapi가 붙은 것은 imaeserver로 이동

*swaggerui는 flask_restx를 사용 할 경우 swaggerui.css와 같은 static파일 요청이 기본적으로 localhost로 되어 있기 때문에 직접 자원을 주기위해 라우팅

profile
숲을 보는 코더

0개의 댓글