Web
프런트엔드 서버 구축
- nginx 기반 docker 생성
- nginx의 root에 Vue 등의 파일 위치
- nginx의 프록시 설정
server { listen 3000; listen [::]:3000; server_name <<ip>>; #access_log /var/log/nginx/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; } location /api/ { proxy_pass http://[backend api container]:8083/api/; 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; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
Spring 서버 구축
- Gradle의 Bootjar로 jar 파일 생성
- Dockerfile 작성
FROM openjdk:21 ARG JAR_FILE=build/libs/*.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java", "-jar", "/app.jar"]
- docker build후 run
주의사항
- 코드 내에서 시스템의 시간을 사용하는 경우 동기화가 필요하다.
- 리다이렉팅은 외부에서 접속 가능한 주소를 지정해야한다. 전달받은 url로 재접속 하기 때문에 docker 내부 네트워크는 사용할 수 없다.