문제 개요
1. 도메인별 요청 분리
•
여러 도메인(admin.dfgdwssegf.shop, cp.dfgdwssegf.shop,dfgdwssegf.shop)을 사용하여 각각의 도메인에 대해 요청을 적절한 백엔드 서버로 라우팅해야 했습니다.
2. 실시간 통신 문제
•
socket.io를 사용한 실시간 통신 기능이 각 도메인에서 제대로 동작하도록 설정해야 했습니다. 초기 설정에서는 실시간 통신이 원활하지 않는 문제가 발생했습니다.
문제 분석 및 목표
도메인별 요청 분리
•
각 도메인에서 들어오는 요청을 정확히 분리하여 올바른 백엔드 서버로 전달해야 합니다.
실시간 통신 문제 해결
•
socket.io를 사용한 실시간 통신이 안정적으로 동작하도록 설정하여, 클라이언트와 서버 간의 연결이 끊기지 않도록 해야 합니다.
Nginx 설정
다음은 도메인별 요청 분리와 실시간 통신 문제를 해결하기 위한 Nginx 설정입니다.
# admin.dfgdwssegf.shop 도메인에 대한 설정
server {
listen 2000;
server_name admin.dfgdwssegf.shop;
location / {
proxy_pass <http://admin.localhost:3000/>;
proxy_set_header Host admin.localhost;
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;
}
}
# dfgdwssegf.shop 도메인에 대한 설정
server {
listen 2000;
server_name dfgdwssegf.shop;
location / {
proxy_pass <http://localhost:3000/>;
proxy_set_header Host localhost;
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;
}
# socket.io 실시간 통신 설정
location /socket.io/ {
proxy_pass <http://localhost:3000/socket.io/>;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host localhost;
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;
}
}
# 기타 도메인에 대한 기본 설정
server {
listen 2000;
server_name _;
location / {
proxy_pass <http://localhost:3000/>;
proxy_set_header Host localhost;
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;
}
}
Plain Text
복사
해결된 문제
1. 도메인별 요청 분리
•
각 도메인에 대한 요청이 정확하게 설정된 백엔드 서버로 라우팅 되어, 관리 인터페이스와 일반 사용자 인터페이스가 독립적으로 운영될 수 있었습니다.
2. 실시간 통신 문제
•
초기에는 socket.io를 통한 실시간 통신이 제대로 동작하지 않았으나, Nginx의 proxy_http_version, Upgrade, Connection 헤더 설정을 통해 문제를 해결했습니다. 이를 통해 클라이언트와 서버 간의 실시간 연결이 원활하게 유지되었습니다.